Merge "cts/tests: increase deadlines in android.security.cts.ClonedSecureRandomTest" into mnc-dev
diff --git a/CtsTestCaseList.mk b/CtsTestCaseList.mk
index 825944a..0950994 100644
--- a/CtsTestCaseList.mk
+++ b/CtsTestCaseList.mk
@@ -19,6 +19,8 @@
     CtsDocumentClient \
     CtsExternalStorageApp \
     CtsInstrumentationAppDiffCert \
+    CtsUsePermissionApp \
+    CtsUsePermissionAppCompat \
     CtsPermissionDeclareApp \
     CtsPermissionDeclareAppCompat \
     CtsReadExternalStorageApp \
@@ -66,14 +68,22 @@
     CtsKeySetSigningAUpgradeEcA \
     CtsKeySetSigningEcAUpgradeA
 
+cts_account_support_packages := \
+    CtsUnaffiliatedAccountAuthenticators
+
 cts_support_packages := \
     CtsAccelerationTestStubs \
+    CtsAlarmClockService \
     CtsAppTestStubs \
+    CtsAssistService \
+    CtsAssistApp \
     CtsAtraceTestApp \
     CtsCertInstallerApp \
     CtsDeviceAdmin \
     CtsDeviceOpenGl \
     CtsWifiConfigCreator \
+    CtsDeviceAndProfileOwnerApp \
+    CtsDeviceInfo \
     CtsDeviceOwnerApp \
     CtsDeviceTaskswitchingAppA \
     CtsDeviceTaskswitchingAppB \
@@ -84,9 +94,11 @@
     CtsIntentSenderApp \
     CtsLauncherAppsTests \
     CtsLauncherAppsTestsSupport \
+    CtsLeanbackJank \
     CtsManagedProfileApp \
     CtsMonkeyApp \
     CtsMonkeyApp2 \
+    CtsPermissionApp \
     CtsSimpleApp \
     CtsSimplePreMApp \
     CtsSomeAccessibilityServices \
@@ -96,6 +108,8 @@
     CtsUsbSerialTestApp \
     CtsVoiceInteractionService \
     CtsVoiceInteractionApp \
+    CtsVoiceSettingsService \
+    $(cts_account_support_packages) \
     $(cts_security_apps_list) \
     $(cts_security_keysets_list)
 
@@ -124,9 +138,11 @@
     CtsAccessibilityServiceTestCases \
     CtsAccessibilityTestCases \
     CtsAdminTestCases \
+    CtsAlarmClockTestCases \
     CtsAnimationTestCases \
     CtsAppTestCases \
     CtsAppWidgetTestCases \
+    CtsAssistTestCases \
     CtsBluetoothTestCases \
     CtsCalendarcommon2TestCases \
     CtsCallLogTestCases \
@@ -143,6 +159,7 @@
     CtsGraphics2TestCases \
     CtsHardwareTestCases \
     CtsJankTestCases \
+    CtsLeanbackJankTestCases \
     CtsJobSchedulerDeviceTestCases \
     CtsJniTestCases \
     CtsKeystoreTestCases \
@@ -155,6 +172,7 @@
     CtsNativeOpenGLTestCases \
     CtsNdefTestCases \
     CtsNetTestCases \
+    CtsNetTestCasesLegacyApi22 \
     CtsOpenGLTestCases \
     CtsOpenGlPerfTestCases \
     CtsOsTestCases \
@@ -185,6 +203,7 @@
     CtsUtilTestCases \
     CtsViewTestCases \
     CtsVoiceInteractionTestCases \
+    CtsVoiceSettingsTestCases \
     CtsWebkitTestCases \
     CtsWidgetTestCases
 
@@ -205,6 +224,7 @@
     CtsHostUi \
     CtsMonkeyTestCases \
     CtsThemeHostTestCases \
+    CtsUsageHostTestCases \
     CtsSecurityHostTestCases \
     CtsUsbTests
 
diff --git a/apps/CameraITS/CameraITS.pdf b/apps/CameraITS/CameraITS.pdf
index 5a511c0..8953af9 100644
--- a/apps/CameraITS/CameraITS.pdf
+++ b/apps/CameraITS/CameraITS.pdf
Binary files differ
diff --git a/apps/CameraITS/pymodules/its/caps.py b/apps/CameraITS/pymodules/its/caps.py
index b6d398f..95f19d9 100644
--- a/apps/CameraITS/pymodules/its/caps.py
+++ b/apps/CameraITS/pymodules/its/caps.py
@@ -307,6 +307,35 @@
     return props.has_key("android.request.availableCapabilities") and \
            4 in props["android.request.availableCapabilities"]
 
+def noise_reduction_mode(props, mode):
+    """Returns whether a device supports the noise reduction mode.
+
+    Args:
+        props: Camera properties objects.
+        mode: Integer, indicating the noise reduction mode to check for
+              availability.
+
+    Returns:
+        Boolean.
+    """
+    return props.has_key(
+            "android.noiseReduction.availableNoiseReductionModes") and mode \
+            in props["android.noiseReduction.availableNoiseReductionModes"];
+
+def edge_mode(props, mode):
+    """Returns whether a device supports the edge mode.
+
+    Args:
+        props: Camera properties objects.
+        mode: Integer, indicating the edge mode to check for availability.
+
+    Returns:
+        Boolean.
+    """
+    return props.has_key(
+            "android.edge.availableEdgeModes") and mode \
+            in props["android.edge.availableEdgeModes"];
+
 class __UnitTest(unittest.TestCase):
     """Run a suite of unit tests on this module.
     """
diff --git a/apps/CameraITS/pymodules/its/device.py b/apps/CameraITS/pymodules/its/device.py
index 8773335..756f959 100644
--- a/apps/CameraITS/pymodules/its/device.py
+++ b/apps/CameraITS/pymodules/its/device.py
@@ -41,14 +41,24 @@
         sock: The open socket.
     """
 
-    # Open a connection to localhost:6000, forwarded to port 6000 on the device.
-    # TODO: Support multiple devices running over different TCP ports.
+    # Open a connection to localhost:<host_port>, forwarded to port 6000 on the
+    # device. <host_port> is determined at run-time to support multiple
+    # connected devices.
     IPADDR = '127.0.0.1'
-    PORT = 6000
+    REMOTE_PORT = 6000
     BUFFER_SIZE = 4096
 
+    # LOCK_PORT is used as a mutex lock to protect the list of forwarded ports
+    # among all processes. The script assumes LOCK_PORT is available and will
+    # try to use ports between CLIENT_PORT_START and
+    # CLIENT_PORT_START+MAX_NUM_PORTS-1 on host for ITS sessions.
+    CLIENT_PORT_START = 6000
+    MAX_NUM_PORTS = 100
+    LOCK_PORT = CLIENT_PORT_START + MAX_NUM_PORTS
+
     # Seconds timeout on each socket operation.
     SOCK_TIMEOUT = 10.0
+    SEC_TO_NSEC = 1000*1000*1000.0
 
     PACKAGE = 'com.android.cts.verifier.camera.its'
     INTENT_START = 'com.android.cts.verifier.camera.its.START'
@@ -57,8 +67,8 @@
     EXTRA_SUCCESS = 'camera.its.extra.SUCCESS'
     EXTRA_SUMMARY = 'camera.its.extra.SUMMARY'
 
-    # TODO: Handle multiple connected devices.
-    ADB = "adb -d"
+    adb = "adb -d"
+    device_id = ""
 
     # Definitions for some of the common output format options for do_capture().
     # Each gets images of full resolution for each requested format.
@@ -74,12 +84,83 @@
     CAP_RAW_YUV_JPEG = [{"format":"raw"}, {"format":"yuv"}, {"format":"jpeg"}]
     CAP_DNG_YUV_JPEG = [{"format":"dng"}, {"format":"yuv"}, {"format":"jpeg"}]
 
-    # Method to handle the case where the service isn't already running.
-    # This occurs when a test is invoked directly from the command line, rather
-    # than as a part of a separate test harness which is setting up the device
-    # and the TCP forwarding.
-    def __pre_init(self):
+    # Initialize the socket port for the host to forward requests to the device.
+    # This method assumes localhost's LOCK_PORT is available and will try to
+    # use ports between CLIENT_PORT_START and CLIENT_PORT_START+MAX_NUM_PORTS-1
+    def __init_socket_port(self):
+        NUM_RETRIES = 100
+        RETRY_WAIT_TIME_SEC = 0.05
 
+        # Bind a socket to use as mutex lock
+        socket_lock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        for i in range(NUM_RETRIES):
+            try:
+                socket_lock.bind((ItsSession.IPADDR, ItsSession.LOCK_PORT))
+                break
+            except socket.error:
+                if i == NUM_RETRIES - 1:
+                    raise its.error.Error(self.device_id,
+                                          "acquiring socket lock timed out")
+                else:
+                    time.sleep(RETRY_WAIT_TIME_SEC)
+
+        # Check if a port is already assigned to the device.
+        command = "adb forward --list"
+        proc = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
+        output, error = proc.communicate()
+
+        port = None
+        used_ports = []
+        for line in output.split(os.linesep):
+            # each line should be formatted as:
+            # "<device_id> tcp:<host_port> tcp:<remote_port>"
+            forward_info = line.split()
+            if len(forward_info) >= 3 and \
+               len(forward_info[1]) > 4 and forward_info[1][:4] == "tcp:" and \
+               len(forward_info[2]) > 4 and forward_info[2][:4] == "tcp:":
+                local_p = int(forward_info[1][4:])
+                remote_p = int(forward_info[2][4:])
+                if forward_info[0] == self.device_id and \
+                   remote_p == ItsSession.REMOTE_PORT:
+                    port = local_p
+                    break;
+                else:
+                    used_ports.append(local_p)
+
+        # Find the first available port if no port is assigned to the device.
+        if port is None:
+            for p in range(ItsSession.CLIENT_PORT_START,
+                           ItsSession.CLIENT_PORT_START +
+                           ItsSession.MAX_NUM_PORTS):
+                if p not in used_ports:
+                    # Try to run "adb forward" with the port
+                    command = "%s forward tcp:%d tcp:%d" % \
+                              (self.adb, p, self.REMOTE_PORT)
+                    proc = subprocess.Popen(command.split(),
+                                            stdout=subprocess.PIPE,
+                                            stderr=subprocess.PIPE)
+                    output, error = proc.communicate()
+
+                    # Check if there is no error
+                    if error is None or error.find("error") < 0:
+                        port = p
+                        break
+
+        if port is None:
+            raise its.error.Error(self.device_id, " cannot find an available " +
+                                  "port")
+
+        # Release the socket as mutex unlock
+        socket_lock.close()
+
+        # Connect to the socket
+        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        self.sock.connect((self.IPADDR, port))
+        self.sock.settimeout(self.SOCK_TIMEOUT)
+
+    # Reboot the device if needed and wait for the service to be ready for
+    # connection.
+    def __wait_for_service(self):
         # This also includes the optional reboot handling: if the user
         # provides a "reboot" or "reboot=N" arg, then reboot the device,
         # waiting for N seconds (default 30) before returning.
@@ -89,19 +170,19 @@
                 if len(s) > 7 and s[6] == "=":
                     duration = int(s[7:])
                 print "Rebooting device"
-                _run("%s reboot" % (ItsSession.ADB));
-                _run("%s wait-for-device" % (ItsSession.ADB))
+                _run("%s reboot" % (self.adb));
+                _run("%s wait-for-device" % (self.adb))
                 time.sleep(duration)
                 print "Reboot complete"
 
         # TODO: Figure out why "--user 0" is needed, and fix the problem.
-        _run('%s shell am force-stop --user 0 %s' % (ItsSession.ADB, self.PACKAGE))
+        _run('%s shell am force-stop --user 0 %s' % (self.adb, self.PACKAGE))
         _run(('%s shell am startservice --user 0 -t text/plain '
-              '-a %s') % (ItsSession.ADB, self.INTENT_START))
+              '-a %s') % (self.adb, self.INTENT_START))
 
         # Wait until the socket is ready to accept a connection.
         proc = subprocess.Popen(
-                ItsSession.ADB.split() + ["logcat"],
+                self.adb.split() + ["logcat"],
                 stdout=subprocess.PIPE)
         logcat = proc.stdout
         while True:
@@ -110,15 +191,14 @@
                 break
         proc.kill()
 
-        # Setup the TCP-over-ADB forwarding.
-        _run('%s forward tcp:%d tcp:%d' % (ItsSession.ADB,self.PORT,self.PORT))
-
     def __init__(self):
-        if "noinit" not in sys.argv:
-            self.__pre_init()
-        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        self.sock.connect((self.IPADDR, self.PORT))
-        self.sock.settimeout(self.SOCK_TIMEOUT)
+        # Initialize device id and adb command.
+        self.device_id = get_device_id()
+        self.adb = "adb -s " + self.device_id
+
+        self.__wait_for_service()
+        self.__init_socket_port()
+
         self.__close_camera()
         self.__open_camera()
 
@@ -501,6 +581,18 @@
                 "dng" in formats and "raw10" in formats or \
                 "raw" in formats and "raw10" in formats:
             raise its.error.Error('Different raw formats not supported')
+
+        # Detect long exposure time and set timeout accordingly
+        longest_exp_time = 0
+        for req in cmd["captureRequests"]:
+            if "android.sensor.exposureTime" in req and \
+                    req["android.sensor.exposureTime"] > longest_exp_time:
+                longest_exp_time = req["android.sensor.exposureTime"]
+
+        extended_timeout = longest_exp_time / self.SEC_TO_NSEC + \
+                self.SOCK_TIMEOUT
+        self.sock.settimeout(extended_timeout)
+
         print "Capturing %d frame%s with %d format%s [%s]" % (
                   ncap, "s" if ncap>1 else "", nsurf, "s" if nsurf>1 else "",
                   ",".join(formats))
@@ -542,12 +634,55 @@
                 obj["metadata"] = mds[i]
                 objs.append(obj)
             rets.append(objs if ncap>1 else objs[0])
+        self.sock.settimeout(self.SOCK_TIMEOUT)
         return rets if len(rets)>1 else rets[0]
 
-def report_result(camera_id, success, summary_path=None):
+def get_device_id():
+    """ Return the ID of the device that the test is running on.
+
+    Return the device ID provided in the command line if it's connected. If no
+    device ID is provided in the command line and there is only one device
+    connected, return the device ID by parsing the result of "adb devices".
+
+    Raise an exception if no device is connected; or the device ID provided in
+    the command line is not connected; or no device ID is provided in the
+    command line and there are more than 1 device connected.
+
+    Returns:
+        Device ID string.
+    """
+    device_id = None
+    for s in sys.argv[1:]:
+        if s[:7] == "device=" and len(s) > 7:
+            device_id = str(s[7:])
+
+    # Get a list of connected devices
+    devices = []
+    command = "adb devices"
+    proc = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
+    output, error = proc.communicate()
+    for line in output.split(os.linesep):
+        device_info = line.split()
+        if len(device_info) == 2 and device_info[1] == "device":
+            devices.append(device_info[0])
+
+    if len(devices) == 0:
+        raise its.error.Error("No device is connected!")
+    elif device_id is not None and device_id not in devices:
+        raise its.error.Error(device_id + " is not connected!")
+    elif device_id is None and len(devices) >= 2:
+        raise its.error.Error("More than 1 device are connected. " +
+                "Use device=<device_id> to specify a device to test.")
+    elif len(devices) == 1:
+        device_id = devices[0]
+
+    return device_id
+
+def report_result(device_id, camera_id, success, summary_path=None):
     """Send a pass/fail result to the device, via an intent.
 
     Args:
+        device_id: The ID string of the device to report the results to.
         camera_id: The ID string of the camera for which to report pass/fail.
         success: Boolean, indicating if the result was pass or fail.
         summary_path: (Optional) path to ITS summary file on host PC
@@ -555,18 +690,19 @@
     Returns:
         Nothing.
     """
+    adb = "adb -s " + device_id
     device_summary_path = "/sdcard/camera_" + camera_id + "_its_summary.txt"
     if summary_path is not None:
         _run("%s push %s %s" % (
-                ItsSession.ADB, summary_path, device_summary_path))
+                adb, summary_path, device_summary_path))
         _run("%s shell am broadcast -a %s --es %s %s --es %s %s --es %s %s" % (
-                ItsSession.ADB, ItsSession.ACTION_ITS_RESULT,
+                adb, ItsSession.ACTION_ITS_RESULT,
                 ItsSession.EXTRA_CAMERA_ID, camera_id,
                 ItsSession.EXTRA_SUCCESS, 'True' if success else 'False',
                 ItsSession.EXTRA_SUMMARY, device_summary_path))
     else:
         _run("%s shell am broadcast -a %s --es %s %s --es %s %s --es %s %s" % (
-                ItsSession.ADB, ItsSession.ACTION_ITS_RESULT,
+                adb, ItsSession.ACTION_ITS_RESULT,
                 ItsSession.EXTRA_CAMERA_ID, camera_id,
                 ItsSession.EXTRA_SUCCESS, 'True' if success else 'False',
                 ItsSession.EXTRA_SUMMARY, "null"))
diff --git a/apps/CameraITS/pymodules/its/image.py b/apps/CameraITS/pymodules/its/image.py
index 89e579f..ea01a3e 100644
--- a/apps/CameraITS/pymodules/its/image.py
+++ b/apps/CameraITS/pymodules/its/image.py
@@ -665,170 +665,6 @@
     img = numpy.vstack(chs).T.reshape(h/f,w/f,chans)
     return img
 
-def __get_color_checker_patch(img, xc,yc, patch_size):
-    r = patch_size/2
-    tile = img[yc-r:yc+r:, xc-r:xc+r:, ::]
-    return tile
-
-def __measure_color_checker_patch(img, xc,yc, patch_size):
-    tile = __get_color_checker_patch(img, xc,yc, patch_size)
-    means = tile.mean(1).mean(0)
-    return means
-
-def get_color_checker_chart_patches(img, debug_fname_prefix=None):
-    """Return the center coords of each patch in a color checker chart.
-
-    Assumptions:
-    * Chart is vertical or horizontal w.r.t. camera, but not diagonal.
-    * Chart is (roughly) planar-parallel to the camera.
-    * Chart is centered in frame (roughly).
-    * Around/behind chart is white/grey background.
-    * The only black pixels in the image are from the chart.
-    * Chart is 100% visible and contained within image.
-    * No other objects within image.
-    * Image is well-exposed.
-    * Standard color checker chart with standard-sized black borders.
-
-    The values returned are in the coordinate system of the chart; that is,
-    patch (0,0) is the brown patch that is in the chart's top-left corner when
-    it is in the normal upright/horizontal orientation. (The chart may be any
-    of the four main orientations in the image.)
-
-    Args:
-        img: Input image, as a numpy array with pixels in [0,1].
-        debug_fname_prefix: If not None, the (string) name of a file prefix to
-            use to save a number of debug images for visualizing the output of
-            this function; can be used to see if the patches are being found
-            successfully.
-
-    Returns:
-        6x4 list of lists of integer (x,y) coords of the center of each patch,
-        ordered in the "chart order" (6x4 row major).
-    """
-
-    # Shrink the original image.
-    DOWNSCALE_FACTOR = 4
-    img_small = downscale_image(img, DOWNSCALE_FACTOR)
-
-    # Make a threshold image, which is 1.0 where the image is black,
-    # and 0.0 elsewhere.
-    BLACK_PIXEL_THRESH = 0.2
-    mask_img = scipy.stats.threshold(
-                img_small.max(2), BLACK_PIXEL_THRESH, 1.1, 0.0)
-    mask_img = 1.0 - scipy.stats.threshold(mask_img, -0.1, 0.1, 1.0)
-
-    if debug_fname_prefix is not None:
-        h,w = mask_img.shape
-        write_image(img, debug_fname_prefix+"_0.jpg")
-        write_image(mask_img.repeat(3).reshape(h,w,3),
-                debug_fname_prefix+"_1.jpg")
-
-    # Mask image flattened to a single row or column (by averaging).
-    # Also apply a threshold to these arrays.
-    FLAT_PIXEL_THRESH = 0.05
-    flat_row = mask_img.mean(0)
-    flat_col = mask_img.mean(1)
-    flat_row = [0 if v < FLAT_PIXEL_THRESH else 1 for v in flat_row]
-    flat_col = [0 if v < FLAT_PIXEL_THRESH else 1 for v in flat_col]
-
-    # Start and end of the non-zero region of the flattened row/column.
-    flat_row_nonzero = [i for i in range(len(flat_row)) if flat_row[i]>0]
-    flat_col_nonzero = [i for i in range(len(flat_col)) if flat_col[i]>0]
-    flat_row_min, flat_row_max = min(flat_row_nonzero), max(flat_row_nonzero)
-    flat_col_min, flat_col_max = min(flat_col_nonzero), max(flat_col_nonzero)
-
-    # Orientation of chart, and number of grid cells horz. and vertically.
-    orient = "h" if flat_row_max-flat_row_min>flat_col_max-flat_col_min else "v"
-    xgrids = 6 if orient=="h" else 4
-    ygrids = 6 if orient=="v" else 4
-
-    # Get better bounds on the patches region, lopping off some of the excess
-    # black border.
-    HRZ_BORDER_PAD_FRAC = 0.0138
-    VERT_BORDER_PAD_FRAC = 0.0395
-    xpad = HRZ_BORDER_PAD_FRAC if orient=="h" else VERT_BORDER_PAD_FRAC
-    ypad = HRZ_BORDER_PAD_FRAC if orient=="v" else VERT_BORDER_PAD_FRAC
-    xchart = flat_row_min + (flat_row_max - flat_row_min) * xpad
-    ychart = flat_col_min + (flat_col_max - flat_col_min) * ypad
-    wchart = (flat_row_max - flat_row_min) * (1 - 2*xpad)
-    hchart = (flat_col_max - flat_col_min) * (1 - 2*ypad)
-
-    # Get the colors of the 4 corner patches, in clockwise order, by measuring
-    # the average value of a small patch at each of the 4 patch centers.
-    colors = []
-    centers = []
-    for (x,y) in [(0,0), (xgrids-1,0), (xgrids-1,ygrids-1), (0,ygrids-1)]:
-        xc = xchart + (x + 0.5)*wchart/xgrids
-        yc = ychart + (y + 0.5)*hchart/ygrids
-        xc = int(xc * DOWNSCALE_FACTOR + 0.5)
-        yc = int(yc * DOWNSCALE_FACTOR + 0.5)
-        centers.append((xc,yc))
-        chan_means = __measure_color_checker_patch(img, xc,yc, 32)
-        colors.append(sum(chan_means) / len(chan_means))
-
-    # The brightest corner is the white patch, the darkest is the black patch.
-    # The black patch should be counter-clockwise from the white patch.
-    white_patch_index = None
-    for i in range(4):
-        if colors[i] == max(colors) and \
-                colors[(i-1+4)%4] == min(colors):
-            white_patch_index = i%4
-    assert(white_patch_index is not None)
-
-    # Return the coords of the origin (top-left when the chart is in the normal
-    # upright orientation) patch's center, and the vector displacement to the
-    # center of the second patch on the first row of the chart (when in the
-    # normal upright orientation).
-    origin_index = (white_patch_index+1)%4
-    prev_index = (origin_index-1+4)%4
-    next_index = (origin_index+1)%4
-    origin_center = centers[origin_index]
-    prev_center = centers[prev_index]
-    next_center = centers[next_index]
-    vec_across = tuple([(next_center[i]-origin_center[i])/5.0 for i in [0,1]])
-    vec_down = tuple([(prev_center[i]-origin_center[i])/3.0 for i in [0,1]])
-
-    # Compute the center of each patch.
-    patches = [[],[],[],[]]
-    for yi in range(4):
-        for xi in range(6):
-            x0,y0 = origin_center
-            dxh,dyh = vec_across
-            dxv,dyv = vec_down
-            xc = int(x0 + dxh*xi + dxv*yi)
-            yc = int(y0 + dyh*xi + dyv*yi)
-            patches[yi].append((xc,yc))
-
-    # Sanity check: test that the R,G,B,black,white patches are correct.
-    sanity_failed = False
-    patch_info = [(2,2,[0]), # Red
-                  (2,1,[1]), # Green
-                  (2,0,[2]), # Blue
-                  (3,0,[0,1,2]), # White
-                  (3,5,[])] # Black
-    for i in range(len(patch_info)):
-        yi,xi,high_chans = patch_info[i]
-        low_chans = [i for i in [0,1,2] if i not in high_chans]
-        xc,yc = patches[yi][xi]
-        means = __measure_color_checker_patch(img, xc,yc, 64)
-        if (min([means[i] for i in high_chans]+[1]) < \
-                max([means[i] for i in low_chans]+[0])):
-            sanity_failed = True
-
-    if debug_fname_prefix is not None:
-        gridimg = numpy.zeros([4*(32+2), 6*(32+2), 3])
-        for yi in range(4):
-            for xi in range(6):
-                xc,yc = patches[yi][xi]
-                tile = __get_color_checker_patch(img, xc,yc, 32)
-                gridimg[yi*(32+2)+1:yi*(32+2)+1+32,
-                        xi*(32+2)+1:xi*(32+2)+1+32, :] = tile
-        write_image(gridimg, debug_fname_prefix+"_2.png")
-
-    assert(not sanity_failed)
-
-    return patches
-
 def compute_image_sharpness(img):
     """Calculate the sharpness of input image.
 
diff --git a/apps/CameraITS/tests/dng_noise_model/DngNoiseModel.pdf b/apps/CameraITS/tests/dng_noise_model/DngNoiseModel.pdf
index 01389fa..d979a06 100644
--- a/apps/CameraITS/tests/dng_noise_model/DngNoiseModel.pdf
+++ b/apps/CameraITS/tests/dng_noise_model/DngNoiseModel.pdf
Binary files differ
diff --git a/apps/CameraITS/tests/dng_noise_model/dng_noise_model.py b/apps/CameraITS/tests/dng_noise_model/dng_noise_model.py
index 19b6c92..8f4682a 100644
--- a/apps/CameraITS/tests/dng_noise_model/dng_noise_model.py
+++ b/apps/CameraITS/tests/dng_noise_model/dng_noise_model.py
@@ -13,144 +13,249 @@
 # limitations under the License.
 
 import its.device
+import its.caps
 import its.objects
 import its.image
-import pprint
-import pylab
 import os.path
+import pylab
 import matplotlib
-import matplotlib.pyplot
-import numpy
+import matplotlib.pyplot as plt
 import math
+import Image
+import time
+import numpy as np
+import scipy.stats
+import scipy.signal
+
+# Convert a 2D array a to a 4D array with dimensions [tile_size,
+# tile_size, row, col] where row, col are tile indices.
+def tile(a, tile_size):
+    tile_rows, tile_cols = a.shape[0]/tile_size, a.shape[1]/tile_size
+    a = a.reshape([tile_rows, tile_size, tile_cols, tile_size])
+    a = a.transpose([1, 3, 0, 2])
+    return a
 
 def main():
-    """Compute the DNG noise model from a color checker chart.
-
-    TODO: Make this more robust; some manual futzing may be needed.
+    """Capture a set of raw images with increasing gains and measure the noise.
     """
     NAME = os.path.basename(__file__).split(".")[0]
 
-    with its.device.ItsSession() as cam:
+    # How many sensitivities per stop to sample.
+    steps_per_stop = 2
+    # How large of tiles to use to compute mean/variance.
+    tile_size = 64
+    # Exposure bracketing range in stops
+    bracket_stops = 4
+    # How high to allow the mean of the tiles to go.
+    max_signal_level = 0.5
+    # Colors used for plotting the data for each exposure.
+    colors = 'rygcbm'
 
+    # Define a first order high pass filter to eliminate low frequency
+    # signal content when computing variance.
+    f = np.array([-1, 1]).astype('float32')
+    # Make it a higher order filter by convolving the first order
+    # filter with itself a few times.
+    f = np.convolve(f, f)
+    f = np.convolve(f, f)
+
+    # Compute the normalization of the filter to preserve noise
+    # power. Let a be the normalization factor we're looking for, and
+    # Let X and X' be the random variables representing the noise
+    # before and after filtering, respectively. First, compute
+    # Var[a*X']:
+    #
+    #   Var[a*X'] = a^2*Var[X*f_0 + X*f_1 + ... + X*f_N-1]
+    #             = a^2*(f_0^2*Var[X] + f_1^2*Var[X] + ... + (f_N-1)^2*Var[X])
+    #             = sum(f_i^2)*a^2*Var[X]
+    #
+    # We want Var[a*X'] to be equal to Var[X]:
+    #
+    #    sum(f_i^2)*a^2*Var[X] = Var[X] -> a = sqrt(1/sum(f_i^2))
+    #
+    # We can just bake this normalization factor into the high pass
+    # filter kernel.
+    f = f/math.sqrt(np.dot(f, f))
+
+    bracket_factor = math.pow(2, bracket_stops)
+
+    with its.device.ItsSession() as cam:
         props = cam.get_camera_properties()
 
-        white_level = float(props['android.sensor.info.whiteLevel'])
+        # Get basic properties we need.
+        sens_min, sens_max = props['android.sensor.info.sensitivityRange']
+        sens_max_analog = props['android.sensor.maxAnalogSensitivity']
+        white_level = props['android.sensor.info.whiteLevel']
         black_levels = props['android.sensor.blackLevelPattern']
         idxs = its.image.get_canonical_cfa_order(props)
         black_levels = [black_levels[i] for i in idxs]
 
-        # Expose for the scene with min sensitivity
-        sens_min, sens_max = props['android.sensor.info.sensitivityRange']
-        s_ae,e_ae,awb_gains,awb_ccm,_  = cam.do_3a(get_results=True)
-        s_e_prod = s_ae * e_ae
+        print "Sensitivity range: [%f, %f]" % (sens_min, sens_max)
+        print "Max analog sensitivity: %f" % (sens_max_analog)
 
-        # Make the image brighter since the script looks at linear Bayer
-        # raw patches rather than gamma-encoded YUV patches (and the AE
-        # probably under-exposes a little for this use-case).
-        s_e_prod *= 2
+        # Do AE to get a rough idea of where we are.
+        s_ae,e_ae,_,_,_  = \
+            cam.do_3a(get_results=True, do_awb=False, do_af=False)
+        # Underexpose to get more data for low signal levels.
+        auto_e = s_ae*e_ae/bracket_factor
 
-        # Capture raw frames across the full sensitivity range.
-        NUM_SENS_STEPS = 9
-        sens_step = int((sens_max - sens_min - 1) / float(NUM_SENS_STEPS))
-        reqs = []
-        sens = []
-        for s in range(sens_min, sens_max, sens_step):
-            e = int(s_e_prod / float(s))
-            req = its.objects.manual_capture_request(s, e)
-            req["android.colorCorrection.transform"] = \
-                    its.objects.float_to_rational(awb_ccm)
-            req["android.colorCorrection.gains"] = awb_gains
-            reqs.append(req)
-            sens.append(s)
+        # If the auto-exposure result is too bright for the highest
+        # sensitivity or too dark for the lowest sensitivity, report
+        # an error.
+        min_exposure_ns, max_exposure_ns = \
+            props['android.sensor.info.exposureTimeRange']
+        if auto_e < min_exposure_ns*sens_max:
+            raise its.error.Error("Scene is too bright to properly expose \
+                                  at the highest sensitivity")
+        if auto_e*bracket_factor > max_exposure_ns*sens_min:
+            raise its.error.Error("Scene is too dark to properly expose \
+                                  at the lowest sensitivity")
 
-        caps = cam.do_capture(reqs, cam.CAP_RAW)
+        # Start the sensitivities at the minimum.
+        s = sens_min
 
-        # A list of the (x,y) coords of the center pixel of a collection of
-        # patches of a color checker chart. Each patch should be uniform,
-        # however the actual color doesn't matter. Note that the coords are
-        # relative to the *converted* RGB image, which is 1/2 x 1/2 of the
-        # full size; convert back to full.
-        img = its.image.convert_capture_to_rgb_image(caps[0], props=props)
-        patches = its.image.get_color_checker_chart_patches(img, NAME+"_debug")
-        patches = [(2*x,2*y) for (x,y) in sum(patches,[])]
+        samples = []
+        plots = []
+        measured_models = []
+        while s <= sens_max + 1:
+            print "ISO %d" % round(s)
+            fig = plt.figure()
+            plt_s = fig.gca()
+            plt_s.set_title("ISO %d" % round(s))
+            plt_s.set_xlabel("Mean signal level")
+            plt_s.set_ylabel("Variance")
 
-        lines = []
-        for iouter, (s,cap) in enumerate(zip(sens,caps)):
-            # For each capture, compute the mean value in each patch, for each
-            # Bayer plane; discard patches where pixels are close to clamped.
-            # Also compute the variance.
-            CLAMP_THRESH = 0.2
-            planes = its.image.convert_capture_to_planes(cap, props)
-            points = []
-            for i,plane in enumerate(planes):
-                plane = (plane * white_level - black_levels[i]) / (
-                        white_level - black_levels[i])
-                for j,(x,y) in enumerate(patches):
-                    tile = plane[y/2-16:y/2+16:,x/2-16:x/2+16:,::]
-                    mean = its.image.compute_image_means(tile)[0]
-                    var = its.image.compute_image_variances(tile)[0]
-                    if (mean > CLAMP_THRESH and mean < 1.0-CLAMP_THRESH):
-                        # Each point is a (mean,variance) tuple for a patch;
-                        # for a given ISO, there should be a linear
-                        # relationship between these values.
-                        points.append((mean,var))
+            samples_s = []
+            for b in range(0, bracket_stops + 1):
+                # Get the exposure for this sensitivity and exposure time.
+                e = int(math.pow(2, b)*auto_e/float(s))
+                req = its.objects.manual_capture_request(round(s), e)
+                cap = cam.do_capture(req, cam.CAP_RAW)
+                planes = its.image.convert_capture_to_planes(cap, props)
 
-            # Fit a line to the points, with a line equation: y = mx + b.
-            # This line is the relationship between mean and variance (i.e.)
-            # between signal level and noise, for this particular sensor.
-            # In the DNG noise model, the gradient (m) is "S", and the offset
-            # (b) is "O".
-            points.sort()
-            xs = [x for (x,y) in points]
-            ys = [y for (x,y) in points]
-            m,b = numpy.polyfit(xs, ys, 1)
-            lines.append((s,m,b))
-            print s, "->", m, b
+                samples_e = []
+                for (pidx, p) in enumerate(planes):
+                    p = p.squeeze()
 
-            # TODO: Clean up these checks (which currently fail in some cases).
-            # Some sanity checks:
-            # * Noise levels should increase with brightness.
-            # * Extrapolating to a black image, the noise should be positive.
-            # Basically, the "b" value should correspond to the read noise,
-            # which is the noise level if the sensor was operating in zero
-            # light.
-            #assert(m > 0)
-            #assert(b >= 0)
+                    # Crop the plane to be a multiple of the tile size.
+                    p = p[0:p.shape[0] - p.shape[0]%tile_size, 
+                          0:p.shape[1] - p.shape[1]%tile_size]
 
-            if iouter == 0:
-                pylab.plot(xs, ys, 'r', label="Measured")
-                pylab.plot([0,xs[-1]],[b,m*xs[-1]+b],'b', label="Fit")
-            else:
-                pylab.plot(xs, ys, 'r')
-                pylab.plot([0,xs[-1]],[b,m*xs[-1]+b],'b')
+                    # convert_capture_to_planes normalizes the range
+                    # to [0, 1], but without subtracting the black
+                    # level.
+                    black_level = black_levels[pidx]
+                    p = p*white_level
+                    p = (p - black_level)/(white_level - black_level)
 
-        pylab.xlabel("Mean")
-        pylab.ylabel("Variance")
-        pylab.legend()
-        matplotlib.pyplot.savefig("%s_plot_mean_vs_variance.png" % (NAME))
+                    # Use our high pass filter to filter this plane.
+                    hp = scipy.signal.sepfir2d(p, f, f).astype('float32')
 
-        # Now fit a line across the (m,b) line parameters for each sensitivity.
-        # The gradient (m) params are fit to the "S" line, and the offset (b)
-        # params are fit to the "O" line, both as a function of sensitivity.
-        gains = [d[0] for d in lines]
-        Ss = [d[1] for d in lines]
-        Os = [d[2] for d in lines]
-        mS,bS = numpy.polyfit(gains, Ss, 1)
-        mO,bO = numpy.polyfit(gains, Os, 1)
+                    means_tiled = \
+                        np.mean(tile(p, tile_size), axis=(0, 1)).flatten()
+                    vars_tiled = \
+                        np.var(tile(hp, tile_size), axis=(0, 1)).flatten()
 
-        # Plot curve "O" as 10x, so it fits in the same scale as curve "S".
-        fig = matplotlib.pyplot.figure()
-        pylab.plot(gains, [10*o for o in Os], 'r', label="Measured")
-        pylab.plot([gains[0],gains[-1]],
-                [10*mO*gains[0]+10*bO, 10*mO*gains[-1]+10*bO],'r--',label="Fit")
-        pylab.plot(gains, Ss, 'b', label="Measured")
-        pylab.plot([gains[0],gains[-1]], [mS*gains[0]+bS,mS*gains[-1]+bS],'b--',
-                label="Fit")
-        pylab.xlabel("Sensitivity")
-        pylab.ylabel("Model parameter: S (blue), O x10 (red)")
-        pylab.legend()
-        matplotlib.pyplot.savefig("%s_plot_S_O.png" % (NAME))
+                    for (mean, var) in zip(means_tiled, vars_tiled):
+                        # Don't include the tile if it has samples that might 
+                        # be clipped.
+                        if mean + 2*math.sqrt(var) < max_signal_level:
+                            samples_e.append([mean, var])
 
+                    means_e, vars_e = zip(*samples_e)
+                    plt_s.plot(means_e, vars_e, colors[b%len(colors)] + ',')
+
+                    samples_s.extend(samples_e)
+
+            [S, O, R, p, stderr] = scipy.stats.linregress(samples_s)
+            measured_models.append([round(s), S, O])
+            print "Sensitivity %d: %e*y + %e (R=%f)" % (round(s), S, O, R)
+
+            # Add the samples for this sensitivity to the global samples list.
+            samples.extend([(round(s), mean, var) for (mean, var) in samples_s])
+
+            # Add the linear fit to the plot for this sensitivity.
+            plt_s.plot([0, max_signal_level], [O, O + S*max_signal_level], 'r-', 
+                       label="Linear fit")
+            xmax = max([x for (x, _) in samples_s])*1.25
+            plt_s.set_xlim(xmin=0, xmax=xmax)
+            plt_s.set_ylim(ymin=0, ymax=(O + S*xmax)*1.25)
+            fig.savefig("%s_samples_iso%04d.png" % (NAME, round(s)))
+            plots.append([round(s), fig])
+
+            # Move to the next sensitivity.
+            s = s*math.pow(2, 1.0/steps_per_stop)
+
+        # Grab the sensitivities and line parameters from each sensitivity.
+        S_measured = [e[1] for e in measured_models]
+        O_measured = [e[2] for e in measured_models]
+        sens = np.asarray([e[0] for e in measured_models])
+        sens_sq = np.square(sens)
+
+        # Use a global linear optimization to fit the noise model.
+        gains = np.asarray([s[0] for s in samples])
+        means = np.asarray([s[1] for s in samples])
+        vars_ = np.asarray([s[2] for s in samples])
+
+        # Define digital gain as the gain above the max analog gain
+        # per the Camera2 spec. Also, define a corresponding C
+        # expression snippet to use in the generated model code.
+        digital_gains = np.maximum(gains/sens_max_analog, 1)
+        digital_gain_cdef = "(sens / %d.0) < 1.0 ? 1.0 : (sens / %d.0)" % \
+            (sens_max_analog, sens_max_analog)
+
+        # Find the noise model parameters via least squares fit.
+        ad = gains*means
+        bd = means
+        cd = gains*gains
+        dd = digital_gains*digital_gains
+        a = np.asarray([ad, bd, cd, dd]).T
+        b = vars_
+
+        # To avoid overfitting to high ISOs (high variances), divide the system
+        # by the gains.
+        a = a/(np.tile(gains, (a.shape[1], 1)).T)
+        b = b/gains
+
+        [A, B, C, D], _, _, _ = np.linalg.lstsq(a, b)
+
+        # Plot the noise model components with the values predicted by the 
+        # noise model.
+        S_model = A*sens + B
+        O_model = \
+            C*sens_sq + D*np.square(np.maximum(sens/sens_max_analog, 1))
+
+        (fig, (plt_S, plt_O)) = plt.subplots(2, 1)
+        plt_S.set_title("Noise model")
+        plt_S.set_ylabel("S")
+        plt_S.loglog(sens, S_measured, 'r+', basex=10, basey=10, 
+                     label="Measured")
+        plt_S.loglog(sens, S_model, 'bx', basex=10, basey=10, label="Model")
+        plt_S.legend(loc=2)
+
+        plt_O.set_xlabel("ISO")
+        plt_O.set_ylabel("O")
+        plt_O.loglog(sens, O_measured, 'r+', basex=10, basey=10, 
+                     label="Measured")
+        plt_O.loglog(sens, O_model, 'bx', basex=10, basey=10, label="Model")
+        fig.savefig("%s.png" % (NAME))
+
+        for [s, fig] in plots:
+            plt_s = fig.gca()
+
+            dg = max(s/sens_max_analog, 1)
+            S = A*s + B
+            O = C*s*s + D*dg*dg
+            plt_s.plot([0, max_signal_level], [O, O + S*max_signal_level], 'b-', 
+                       label="Model")
+            plt_s.legend(loc=2)
+
+            plt.figure(fig.number)
+
+            # Re-save the plot with the global model.
+            fig.savefig("%s_samples_iso%04d.png" % (NAME, round(s)))
+
+        # Generate the noise model implementation.
         print """
         /* Generated test code to dump a table of data for external validation
          * of the noise model parameters.
@@ -176,11 +281,13 @@
             double s = %e * sens + %e;
             return s < 0.0 ? 0.0 : s;
         }
+
         double compute_noise_model_entry_O(int sens) {
-            double o = %e * sens + %e;
+            double digital_gain = %s;
+            double o = %e * sens * sens + %e * digital_gain * digital_gain;
             return o < 0.0 ? 0.0 : o;
         }
-        """%(sens_min,sens_max,mS,bS,mO,bO)
+        """ % (sens_min, sens_max, A, B, digital_gain_cdef, C, D)
 
 if __name__ == '__main__':
     main()
diff --git a/apps/CameraITS/tests/scene1/test_param_noise_reduction.py b/apps/CameraITS/tests/scene1/test_param_noise_reduction.py
index f5176a7..2c8d73b 100644
--- a/apps/CameraITS/tests/scene1/test_param_noise_reduction.py
+++ b/apps/CameraITS/tests/scene1/test_param_noise_reduction.py
@@ -17,10 +17,11 @@
 import its.device
 import its.objects
 import its.target
-import pylab
-import os.path
 import matplotlib
 import matplotlib.pyplot
+import numpy
+import os.path
+import pylab
 
 def main():
     """Test that the android.noiseReduction.mode param is applied when set.
@@ -34,6 +35,8 @@
     """
     NAME = os.path.basename(__file__).split(".")[0]
 
+    RELATIVE_ERROR_TOLERANCE = 0.1
+
     # List of variances for Y,U,V.
     variances = [[],[],[]]
 
@@ -45,7 +48,8 @@
     with its.device.ItsSession() as cam:
         props = cam.get_camera_properties()
         its.caps.skip_unless(its.caps.compute_target_exposure(props) and
-                             its.caps.per_frame_control(props))
+                             its.caps.per_frame_control(props) and
+                             its.caps.noise_reduction_mode(props, 0))
 
         # NR mode 0 with low gain
         e, s = its.target.get_target_exposure_combos(cam)["minSensitivity"]
@@ -62,37 +66,64 @@
             ref_variance.append(its.image.compute_image_variances(tile)[0])
         print "Ref variances:", ref_variance
 
-        for i in range(3):
-            # NR modes 0, 1, 2 with high gain
+        # NR modes 0, 1, 2, 3, 4 with high gain
+        for mode in range(5):
+            # Skip unavailable modes
+            if not its.caps.noise_reduction_mode(props, mode):
+                nr_modes_reported.append(mode)
+                for channel in range(3):
+                    variances[channel].append(0)
+                continue;
+
             e, s = its.target.get_target_exposure_combos(cam)["maxSensitivity"]
             req = its.objects.manual_capture_request(s, e)
-            req["android.noiseReduction.mode"] = i
+            req["android.noiseReduction.mode"] = mode
             cap = cam.do_capture(req)
             nr_modes_reported.append(
                     cap["metadata"]["android.noiseReduction.mode"])
             its.image.write_image(
                     its.image.convert_capture_to_rgb_image(cap),
-                    "%s_high_gain_nr=%d.jpg" % (NAME, i))
+                    "%s_high_gain_nr=%d.jpg" % (NAME, mode))
             planes = its.image.convert_capture_to_planes(cap)
             for j in range(3):
                 img = planes[j]
                 tile = its.image.get_image_patch(img, 0.45, 0.45, 0.1, 0.1)
                 variance = its.image.compute_image_variances(tile)[0]
                 variances[j].append(variance / ref_variance[j])
-        print "Variances with NR mode [0,1,2]:", variances
+        print "Variances with NR mode [0,1,2,3,4]:", variances
 
     # Draw a plot.
     for j in range(3):
-        pylab.plot(range(3), variances[j], "rgb"[j])
+        pylab.plot(range(5), variances[j], "rgb"[j])
     matplotlib.pyplot.savefig("%s_plot_variances.png" % (NAME))
 
-    assert(nr_modes_reported == [0,1,2])
+    assert(nr_modes_reported == [0,1,2,3,4])
 
-    # Check that the variance of the NR=0 image is higher than for the
-    # NR=1 and NR=2 images.
     for j in range(3):
-        for i in range(1,3):
-            assert(variances[j][i] < variances[j][0])
+        # Smaller variance is better
+        # Verify OFF(0) is not better than FAST(1)
+        assert(variances[j][0] >
+               variances[j][1] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+        # Verify FAST(1) is not better than HQ(2)
+        assert(variances[j][1] >
+               variances[j][2] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+        # Verify HQ(2) is better than OFF(0)
+        assert(variances[j][0] > variances[j][2])
+        if its.caps.noise_reduction_mode(props, 3):
+            # Verify OFF(0) is not better than MINIMAL(3)
+            assert(variances[j][0] >
+                   variances[j][3] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+            # Verify MINIMAL(3) is not better than HQ(2)
+            assert(variances[j][3] >
+                   variances[j][2] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+            if its.caps.noise_reduction_mode(props, 4):
+                # Verify ZSL(4) is close to MINIMAL(3)
+                assert(numpy.isclose(variances[j][4], variances[j][3],
+                                     RELATIVE_ERROR_TOLERANCE))
+        elif its.caps.noise_reduction_mode(props, 4):
+            # Verify ZSL(4) is close to OFF(0)
+            assert(numpy.isclose(variances[j][4], variances[j][0],
+                                 RELATIVE_ERROR_TOLERANCE))
 
 if __name__ == '__main__':
     main()
diff --git a/apps/CameraITS/tests/scene1/test_reprocess_noise_reduction.py b/apps/CameraITS/tests/scene1/test_reprocess_noise_reduction.py
index e9240ba..757dfeb 100644
--- a/apps/CameraITS/tests/scene1/test_reprocess_noise_reduction.py
+++ b/apps/CameraITS/tests/scene1/test_reprocess_noise_reduction.py
@@ -20,6 +20,7 @@
 import math
 import matplotlib
 import matplotlib.pyplot
+import numpy
 import os.path
 import pylab
 
@@ -37,14 +38,20 @@
 
     NAME = os.path.basename(__file__).split(".")[0]
 
+    RELATIVE_ERROR_TOLERANCE = 0.1
+
     with its.device.ItsSession() as cam:
         props = cam.get_camera_properties()
 
         its.caps.skip_unless(its.caps.compute_target_exposure(props) and
                              its.caps.per_frame_control(props) and
+                             its.caps.noise_reduction_mode(props, 0) and
                              (its.caps.yuv_reprocess(props) or
                               its.caps.private_reprocess(props)))
 
+        # If reprocessing is supported, ZSL NR mode must be avaiable.
+        assert(its.caps.noise_reduction_mode(props, 4))
+
         reprocess_formats = []
         if (its.caps.yuv_reprocess(props)):
             reprocess_formats.append("yuv")
@@ -73,8 +80,14 @@
             ref_variance = its.image.compute_image_variances(tile)
             print "Ref variances:", ref_variance
 
-            for nr_mode in range(3):
-                # NR modes 0, 1, 2 with high gain
+            for nr_mode in range(5):
+                # Skip unavailable modes
+                if not its.caps.noise_reduction_mode(props, nr_mode):
+                    nr_modes_reported.append(nr_mode)
+                    variances.append(0)
+                    continue
+
+                # NR modes with high gain
                 e, s = its.target.get_target_exposure_combos(cam) \
                     ["maxSensitivity"]
                 req = its.objects.manual_capture_request(s, e)
@@ -91,21 +104,44 @@
                 variance = its.image.compute_image_variances(tile)
                 variances.append(
                     [variance[chan] / ref_variance[chan] for chan in range(3)])
-            print "Variances with NR mode [0,1,2]:", variances
+            print "Variances with NR mode [0,1,2,3,4]:", variances
 
             # Draw a plot.
-            for nr_mode in range(3):
-                pylab.plot(range(3), variances[nr_mode], "rgb"[nr_mode])
+            for chan in range(3):
+                line = []
+                for nr_mode in range(5):
+                    line.append(variances[nr_mode][chan])
+                pylab.plot(range(5), line, "rgb"[chan])
+
             matplotlib.pyplot.savefig("%s_plot_%s_variances.png" %
                                       (NAME, reprocess_format))
 
-            assert(nr_modes_reported == [0,1,2])
+            assert(nr_modes_reported == [0,1,2,3,4])
 
-            # Check that the variance of the NR=0 image is higher than for the
-            # NR=1 and NR=2 images.
             for j in range(3):
-                for i in range(1,3):
-                    assert(variances[i][j] < variances[0][j])
+                # Smaller variance is better
+                # Verify OFF(0) is not better than FAST(1)
+                assert(variances[0][j] >
+                       variances[1][j] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+                # Verify FAST(1) is not better than HQ(2)
+                assert(variances[1][j] >
+                       variances[2][j] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+                # Verify HQ(2) is better than OFF(0)
+                assert(variances[0][j] > variances[2][j])
+                if its.caps.noise_reduction_mode(props, 3):
+                    # Verify OFF(0) is not better than MINIMAL(3)
+                    assert(variances[0][j] >
+                           variances[3][j] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+                    # Verify MINIMAL(3) is not better than HQ(2)
+                    assert(variances[3][j] >
+                           variances[2][j] * (1.0 - RELATIVE_ERROR_TOLERANCE))
+                    # Verify ZSL(4) is close to MINIMAL(3)
+                    assert(numpy.isclose(variances[4][j], variances[3][j],
+                                         RELATIVE_ERROR_TOLERANCE))
+                else:
+                    # Verify ZSL(4) is close to OFF(0)
+                    assert(numpy.isclose(variances[4][j], variances[0][j],
+                                         RELATIVE_ERROR_TOLERANCE))
 
 if __name__ == '__main__':
     main()
diff --git a/apps/CameraITS/tests/scene3/test_reprocess_edge_enhancement.py b/apps/CameraITS/tests/scene3/test_reprocess_edge_enhancement.py
index 1966d9e..910cda2 100644
--- a/apps/CameraITS/tests/scene3/test_reprocess_edge_enhancement.py
+++ b/apps/CameraITS/tests/scene3/test_reprocess_edge_enhancement.py
@@ -20,6 +20,7 @@
 import math
 import matplotlib
 import matplotlib.pyplot
+import numpy
 import os.path
 import pylab
 
@@ -90,9 +91,13 @@
 
         its.caps.skip_unless(its.caps.read_3a(props) and
                              its.caps.per_frame_control(props) and
+                             its.caps.edge_mode(props, 0) and
                              (its.caps.yuv_reprocess(props) or
                               its.caps.private_reprocess(props)))
 
+        # If reprocessing is supported, ZSL EE mode must be avaiable.
+        assert(its.caps.edge_mode(props, 3))
+
         reprocess_formats = []
         if (its.caps.yuv_reprocess(props)):
             reprocess_formats.append("yuv")
@@ -108,13 +113,18 @@
         # Get the sharpness for each edge mode for regular requests
         sharpness_regular = []
         edge_mode_reported_regular = []
-        for edge_mode in range(3):
+        for edge_mode in range(4):
+            # Skip unavailable modes
+            if not its.caps.edge_mode(props, edge_mode):
+                edge_mode_reported_regular.append(edge_mode)
+                sharpness_regular.append(0)
+                continue
             ret = test_edge_mode(cam, edge_mode, s, e, fd, out_surface)
             edge_mode_reported_regular.append(ret["edge_mode"])
             sharpness_regular.append(ret["sharpness"])
 
         print "Reported edge modes:", edge_mode_reported_regular
-        print "Sharpness with EE mode [0,1,2]:", sharpness_regular
+        print "Sharpness with EE mode [0,1,2,3]:", sharpness_regular
 
         # Get the sharpness for each reprocess format and edge mode for
         # reprocess requests.
@@ -125,7 +135,13 @@
             # List of sharpness
             sharpnesses = []
             edge_mode_reported = []
-            for edge_mode in range(3):
+            for edge_mode in range(4):
+                # Skip unavailable modes
+                if not its.caps.edge_mode(props, edge_mode):
+                    edge_mode_reported.append(edge_mode)
+                    sharpnesses.append(0)
+                    continue
+
                 ret = test_edge_mode(cam, edge_mode, s, e, fd, out_surface,
                     reprocess_format)
                 edge_mode_reported.append(ret["edge_mode"])
@@ -135,24 +151,51 @@
             edge_mode_reported_reprocess.append(edge_mode_reported)
 
             print "Reported edge modes:", edge_mode_reported
-            print "Sharpness with EE mode [0,1,2] for %s reprocess:" % \
+            print "Sharpness with EE mode [0,1,2,3] for %s reprocess:" % \
                 (reprocess_format) , sharpnesses
 
-        # Verify the results
-        assert(edge_mode_reported_regular == [0,1,2])
-        assert(sharpness_regular[1] >
-            sharpness_regular[0] * (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
-        assert(sharpness_regular[2] >
-            sharpness_regular[0] * (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
 
-        # Verify the reprocess
+        # Verify HQ(2) is sharper than OFF(0)
+        assert(sharpness_regular[2] > sharpness_regular[0])
+
+        # Verify ZSL(3) is similar to OFF(0)
+        assert(numpy.isclose(sharpness_regular[3], sharpness_regular[0],
+                             THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
+        # Verify OFF(0) is not sharper than FAST(1)
+        assert(sharpness_regular[1] >
+               sharpness_regular[0] * (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
+        # Verify FAST(1) is not sharper than HQ(2)
+        assert(sharpness_regular[2] >
+               sharpness_regular[1] * (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
         for reprocess_format in range(len(reprocess_formats)):
-            assert(edge_mode_reported_reprocess[reprocess_format] == [0,1,2])
-            for edge_mode in range(3):
-                assert(sharpnesses_reprocess[reprocess_format][edge_mode] >=
-                    (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF) *
-                    sharpnesses_reprocess[reprocess_format][0] *
-                    sharpness_regular[edge_mode] / sharpness_regular[0])
+            # Verify HQ(2) is sharper than OFF(0)
+            assert(sharpnesses_reprocess[reprocess_format][2] >
+                   sharpnesses_reprocess[reprocess_format][0])
+
+            # Verify ZSL(3) is similar to OFF(0)
+            assert(numpy.isclose(sharpnesses_reprocess[reprocess_format][3],
+                                 sharpnesses_reprocess[reprocess_format][0],
+                                 THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
+            # Verify OFF(0) is not sharper than FAST(1)
+            assert(sharpnesses_reprocess[reprocess_format][1] >
+                   sharpnesses_reprocess[reprocess_format][0] *
+                   (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
+            # Verify FAST(1) is not sharper than HQ(2)
+            assert(sharpnesses_reprocess[reprocess_format][2] >
+                   sharpnesses_reprocess[reprocess_format][1] *
+                   (1.0 - THRESHOLD_RELATIVE_SHARPNESS_DIFF))
+
+            # Verify reprocessing HQ(2) is similar to regular HQ(2) relative to
+            # OFF(0)
+            assert(numpy.isclose(sharpness_reprocess[reprocess_format][2] /
+                                    sharpness_reprocess[reprocess_format][0],
+                                 sharpness_regular[2] / sharpness_regular[0],
+                                 THRESHOLD_RELATIVE_SHARPNESS_DIFF))
 
 if __name__ == '__main__':
     main()
diff --git a/apps/CameraITS/tools/config.py b/apps/CameraITS/tools/config.py
index 6e83412..52929aa 100644
--- a/apps/CameraITS/tools/config.py
+++ b/apps/CameraITS/tools/config.py
@@ -44,7 +44,7 @@
     # Command line args, ignoring any args that will be passed down to the
     # ItsSession constructor.
     args = [s for s in sys.argv if s[:6] not in \
-            ["reboot", "camera", "target", "noinit"]]
+            ["reboot", "camera", "target", "device"]]
 
     if len(args) == 1:
         with its.device.ItsSession() as cam:
diff --git a/apps/CameraITS/tools/run_all_tests.py b/apps/CameraITS/tools/run_all_tests.py
index 254d65cf..dd12512 100644
--- a/apps/CameraITS/tools/run_all_tests.py
+++ b/apps/CameraITS/tools/run_all_tests.py
@@ -42,7 +42,7 @@
             "test_ev_compensation_basic",
             "test_yuv_plus_jpeg"
         ],
-        "scene2":[]
+        "scene2":[],
         "scene3":[]
     }
 
@@ -52,7 +52,7 @@
     scene_req = {
         "scene0" : None,
         "scene1" : "A grey card covering at least the middle 30% of the scene",
-        "scene2" : "A picture containing human faces"
+        "scene2" : "A picture containing human faces",
         "scene3" : "A chart containing sharp edges like ISO 12233"
     }
     tests = []
@@ -66,6 +66,10 @@
     topdir = tempfile.mkdtemp()
     print "Saving output files to:", topdir, "\n"
 
+    device_id = its.device.get_device_id()
+    device_id_arg = "device=" + device_id
+    print "Testing device " + device_id
+
     camera_ids = []
     for s in sys.argv[1:]:
         if s[:7] == "camera=" and len(s) > 7:
@@ -76,7 +80,8 @@
         camera_ids_path = os.path.join(topdir, "camera_ids.txt")
         out_arg = "out=" + camera_ids_path
         cmd = ['python',
-               os.path.join(os.getcwd(),"tools/get_camera_ids.py"), out_arg]
+               os.path.join(os.getcwd(),"tools/get_camera_ids.py"), out_arg,
+               device_id_arg]
         retcode = subprocess.call(cmd,cwd=topdir)
         assert(retcode == 0)
         with open(camera_ids_path, "r") as f:
@@ -110,7 +115,7 @@
                 scene_arg = "scene=" + scene_req[scene]
                 cmd = ['python',
                         os.path.join(os.getcwd(),"tools/validate_scene.py"),
-                        camera_id_arg, out_arg, scene_arg]
+                        camera_id_arg, out_arg, scene_arg, device_id_arg]
                 retcode = subprocess.call(cmd,cwd=topdir)
                 assert(retcode == 0)
                 print "Start running tests for", scene
@@ -170,7 +175,7 @@
         summary_path = os.path.join(topdir, camera_id, "summary.txt")
         with open(summary_path, "w") as f:
             f.write(summary)
-        its.device.report_result(camera_id, result, summary_path)
+        its.device.report_result(device_id, camera_id, result, summary_path)
 
     print "ITS tests finished. Please go back to CtsVerifier and proceed"
 
diff --git a/apps/CtsVerifier/Android.mk b/apps/CtsVerifier/Android.mk
index dd85a19..5ddfcb2 100644
--- a/apps/CtsVerifier/Android.mk
+++ b/apps/CtsVerifier/Android.mk
@@ -43,7 +43,7 @@
 
 LOCAL_AAPT_FLAGS += --version-name "5.0_r1.91 $(BUILD_NUMBER)"
 
-LOCAL_JNI_SHARED_LIBRARIES := libctsverifier_jni
+LOCAL_JNI_SHARED_LIBRARIES := libctsverifier_jni libaudioloopback_jni
 
 LOCAL_PROGUARD_FLAG_FILES := proguard.flags
 
@@ -64,12 +64,14 @@
 
 
 notification-bot := $(call intermediates-dir-for,APPS,NotificationBot)/package.apk
+permission-app := $(call intermediates-dir-for,APPS,CtsPermissionApp)/package.apk
 
 # Builds and launches CTS Verifier on a device.
 .PHONY: cts-verifier
-cts-verifier: CtsVerifier adb NotificationBot
+cts-verifier: CtsVerifier adb NotificationBot CtsPermissionApp
 	adb install -r $(PRODUCT_OUT)/data/app/CtsVerifier/CtsVerifier.apk \
 		&& adb install -r $(notification-bot) \
+		&& adb install -r $(permission-app) \
 		&& adb shell "am start -n com.android.cts.verifier/.CtsVerifierActivity"
 
 #
@@ -106,10 +108,12 @@
 endif
 $(verifier-zip) : $(HOST_OUT)/CameraITS
 $(verifier-zip) : $(notification-bot)
+$(verifier-zip) : $(permission-app)
 $(verifier-zip) : $(call intermediates-dir-for,APPS,CtsVerifier)/package.apk | $(ACP)
 		$(hide) mkdir -p $(verifier-dir)
 		$(hide) $(ACP) -fp $< $(verifier-dir)/CtsVerifier.apk
 		$(ACP) -fp $(notification-bot) $(verifier-dir)/NotificationBot.apk
+		$(ACP) -fp $(permission-app) $(verifier-dir)/CtsPermissionApp.apk
 ifeq ($(HOST_OS),linux)
 		$(hide) $(ACP) -fp $(HOST_OUT)/bin/cts-usb-accessory $(verifier-dir)/cts-usb-accessory
 endif
diff --git a/apps/CtsVerifier/AndroidManifest.xml b/apps/CtsVerifier/AndroidManifest.xml
index 0f4cb6b..36f3e6c 100644
--- a/apps/CtsVerifier/AndroidManifest.xml
+++ b/apps/CtsVerifier/AndroidManifest.xml
@@ -56,6 +56,7 @@
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
     <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
+    <uses-permission android:name="android.permission.USE_FINGERPRINT"/>
 
     <!-- Needed by the Audio Quality Verifier to store the sound samples that will be mailed. -->
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@@ -352,6 +353,28 @@
             <meta-data android:name="test_category" android:value="@string/test_category_security" />
         </activity>
 
+        <activity android:name=".security.FingerprintBoundKeysTest"
+                android:label="@string/sec_fingerprint_bound_key_test"
+                android:configChanges="keyboardHidden|orientation|screenSize" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.cts.intent.category.MANUAL_TEST" />
+            </intent-filter>
+            <meta-data android:name="test_category" android:value="@string/test_category_security" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch" />
+        </activity>
+        <activity android:name=".security.ScreenLockBoundKeysTest"
+                android:label="@string/sec_lock_bound_key_test"
+                android:configChanges="keyboardHidden|orientation|screenSize" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.cts.intent.category.MANUAL_TEST" />
+            </intent-filter>
+            <meta-data android:name="test_category" android:value="@string/test_category_security" />
+            <meta-data android:name="test_excluded_features"
+                       android:value="android.hardware.type.television:android.software.leanback:android.hardware.type.watch" />
+        </activity>
         <activity android:name=".security.LockConfirmBypassTest"
                 android:label="@string/lock_confirm_test_title"
                 android:configChanges="keyboardHidden|orientation|screenSize" >
@@ -429,6 +452,10 @@
                 android:label="@string/nfc_ndef_push_receiver"
                 android:configChanges="keyboardHidden|orientation|screenSize" />
 
+        <activity android:name=".nfc.LlcpVersionActivity"
+                android:label="@string/nfc_llcp_version_check"
+                android:configChanges="keyboardHidden|orientation|screenSize" />
+
         <activity android:name=".nfc.TagVerifierActivity"
                 android:label="@string/nfc_tag_verifier"
                 android:configChanges="keyboardHidden|orientation|screenSize" />
@@ -1342,12 +1369,34 @@
                 android:theme="@android:style/Theme.NoDisplay"
                 android:noHistory="true"
                 android:autoRemoveFromRecents="true"
-                android:stateNotNeeded="true"/>
+                android:stateNotNeeded="true">
+        </activity>
+
+        <activity android:name=".managedprovisioning.KeyguardDisabledFeaturesActivity"
+                android:label="@string/provisioning_byod_keyguard_disabled_features">
+        </activity>
 
         <activity android:name=".managedprovisioning.WifiLockdownTestActivity"
                 android:label="@string/device_owner_wifi_lockdown_test">
         </activity>
 
+        <activity android:name=".managedprovisioning.PermissionLockdownTestActivity"
+                android:label="@string/device_profile_owner_permission_lockdown_test">
+            <intent-filter>
+                <action android:name="com.android.cts.verifier.managedprovisioning.action.CHECK_PERMISSION_LOCKDOWN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity-alias
+                android:name=".managedprovisioning.ManagedProfilePermissionLockdownTestActivity"
+                android:targetActivity=".managedprovisioning.PermissionLockdownTestActivity">
+            <intent-filter>
+                <action android:name="com.android.cts.verifier.managedprovisioning.action.MANAGED_PROFILE_CHECK_PERMISSION_LOCKDOWN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity-alias>
+
         <activity android:name=".managedprovisioning.ByodFlowTestActivity"
                 android:launchMode="singleTask"
                 android:label="@string/provisioning_byod">
@@ -1372,6 +1421,8 @@
                 <action android:name="com.android.cts.verifier.managedprovisioning.BYOD_CAPTURE_AND_CHECK_IMAGE" />
                 <action android:name="com.android.cts.verifier.managedprovisioning.BYOD_CAPTURE_AND_CHECK_VIDEO" />
                 <action android:name="com.android.cts.verifier.managedprovisioning.BYOD_CAPTURE_AND_CHECK_AUDIO" />
+                <action android:name="com.android.cts.verifier.managedprovisioning.BYOD_KEYGUARD_DISABLED_FEATURES" />
+                <action android:name="com.android.cts.verifier.managedprovisioning.BYOD_LOCKNOW" />
                 <category android:name="android.intent.category.DEFAULT"></category>
             </intent-filter>
         </activity>
@@ -1411,6 +1462,7 @@
         <activity android:name=".managedprovisioning.WorkNotificationTestActivity">
             <intent-filter>
                 <action android:name="com.android.cts.verifier.managedprovisioning.WORK_NOTIFICATION" />
+                <action android:name="com.android.cts.verifier.managedprovisioning.LOCKSCREEN_NOTIFICATION" />
                 <action android:name="com.android.cts.verifier.managedprovisioning.CLEAR_WORK_NOTIFICATION" />
                 <category android:name="android.intent.category.DEFAULT"></category>
             </intent-filter>
@@ -1576,6 +1628,42 @@
             -->
         </activity>
 
+        <activity android:name=".audio.AudioLoopbackActivity"
+                  android:label="@string/audio_loopback_test">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.cts.intent.category.MANUAL_TEST" />
+            </intent-filter>
+            <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.television" />
+        </activity>
+
+        <activity android:name=".audio.AudioFrequencyLineActivity"
+                  android:label="@string/audio_frequency_line_test">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.cts.intent.category.MANUAL_TEST" />
+            </intent-filter>
+            <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <meta-data android:name="test_required_features" android:value="android.hardware.microphone" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.television" />
+        </activity>
+
+        <activity android:name=".audio.AudioFrequencySpeakerActivity"
+                  android:label="@string/audio_frequency_speaker_test">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.cts.intent.category.MANUAL_TEST" />
+            </intent-filter>
+            <meta-data android:name="test_category" android:value="@string/test_category_audio" />
+            <!-- <meta-data android:name="test_required_features" android:value="android.hardware.microphone" /> -->
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.watch" />
+            <meta-data android:name="test_excluded_features" android:value="android.hardware.type.television" />
+        </activity>
+
         <service android:name=".tv.MockTvInputService"
             android:permission="android.permission.BIND_TV_INPUT">
             <intent-filter>
diff --git a/apps/CtsVerifier/jni/audio_loopback/Android.mk b/apps/CtsVerifier/jni/audio_loopback/Android.mk
new file mode 100644
index 0000000..3dfbc34
--- /dev/null
+++ b/apps/CtsVerifier/jni/audio_loopback/Android.mk
@@ -0,0 +1,28 @@
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE      := libaudioloopback_jni
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES   := \
+	sles.cpp \
+	jni_sles.c
+
+LOCAL_C_INCLUDES := \
+        system/media/audio_utils/include \
+        frameworks/wilhelm/include
+
+LOCAL_SHARED_LIBRARIES := \
+	libutils \
+	libcutils \
+	libOpenSLES \
+	libnbaio \
+	liblog \
+	libaudioutils
+
+LOCAL_PRELINK_MODULE := false
+
+LOCAL_LDFLAGS := -Wl,--hash-style=sysv
+LOCAL_CFLAGS := -DSTDC_HEADERS
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/apps/CtsVerifier/jni/audio_loopback/jni_sles.c b/apps/CtsVerifier/jni/audio_loopback/jni_sles.c
new file mode 100644
index 0000000..a865078
--- /dev/null
+++ b/apps/CtsVerifier/jni/audio_loopback/jni_sles.c
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <android/log.h>
+#include "sles.h"
+#include "jni_sles.h"
+#include <stdio.h>
+#include <stddef.h>
+
+/////
+JNIEXPORT jlong JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesInit
+  (JNIEnv *env __unused, jobject obj __unused, jint samplingRate, jint frameCount, jint micSource) {
+
+    sles_data * pSles = NULL;
+
+    if (slesInit(&pSles, samplingRate, frameCount, micSource) != SLES_FAIL) {
+
+        return (long)pSles;
+    }
+    // FIXME This should be stored as a (long) field in the object,
+    //       so that incorrect Java code could not synthesize a bad sles pointer.
+    return 0;
+}
+
+JNIEXPORT jint JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesProcessNext
+  (JNIEnv *env __unused, jobject obj __unused, jlong sles, jdoubleArray samplesArray,
+          jlong offset) {
+    sles_data * pSles= (sles_data*) ((long)sles);
+
+    long maxSamples = (*env)->GetArrayLength(env, samplesArray);
+    double *pSamples = (*env)->GetDoubleArrayElements(env, samplesArray,0);
+
+    long availableSamples = maxSamples-offset;
+    double *pCurrentSample = pSamples+offset;
+
+    SLES_PRINTF("jni slesProcessNext pSles:%p, currentSample %p, availableSamples %ld ", pSles,
+            pCurrentSample, availableSamples);
+
+    int samplesRead = slesProcessNext(pSles, pCurrentSample, availableSamples);
+
+    return samplesRead;
+}
+
+JNIEXPORT jint JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesDestroy
+  (JNIEnv *env __unused, jobject obj __unused, jlong sles) {
+    sles_data * pSles= (sles_data*) ((long) sles);
+
+    int status = slesDestroy(&pSles);
+
+    return status;
+}
diff --git a/apps/CtsVerifier/jni/audio_loopback/jni_sles.h b/apps/CtsVerifier/jni/audio_loopback/jni_sles.h
new file mode 100644
index 0000000..7bff040
--- /dev/null
+++ b/apps/CtsVerifier/jni/audio_loopback/jni_sles.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <jni.h>
+
+#ifndef _Included_org_drrickorang_loopback_jni
+#define _Included_org_drrickorang_loopback_jni
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+////////////////////////
+JNIEXPORT jlong JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesInit
+  (JNIEnv *, jobject, jint, jint, jint );
+
+JNIEXPORT jint JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesProcessNext
+  (JNIEnv *, jobject , jlong, jdoubleArray, jlong );
+
+JNIEXPORT jint JNICALL Java_com_android_cts_verifier_audio_NativeAudioThread_slesDestroy
+  (JNIEnv *, jobject , jlong );
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_Included_org_drrickorang_loopback_jni
diff --git a/apps/CtsVerifier/jni/audio_loopback/sles.cpp b/apps/CtsVerifier/jni/audio_loopback/sles.cpp
new file mode 100644
index 0000000..7859d35
--- /dev/null
+++ b/apps/CtsVerifier/jni/audio_loopback/sles.cpp
@@ -0,0 +1,655 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+////////////////////////////////////////////
+/// Actual sles functions.
+
+
+// Test program to record from default audio input and playback to default audio output.
+// It will generate feedback (Larsen effect) if played through on-device speakers,
+// or acts as a delay if played through headset.
+
+#include "sles.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include <assert.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int slesInit(sles_data ** ppSles, int samplingRate, int frameCount, int micSource) {
+    int status = SLES_FAIL;
+    if (ppSles != NULL) {
+        sles_data * pSles = (sles_data*) calloc(1, sizeof (sles_data));
+
+        SLES_PRINTF("malloc %d bytes at %p",sizeof(sles_data), pSles);
+        *ppSles = pSles;
+        if (pSles != NULL)
+        {
+            SLES_PRINTF("creating server. Sampling rate =%d, frame count = %d",samplingRate,
+                    frameCount);
+            status = slesCreateServer(pSles, samplingRate, frameCount, micSource);
+            SLES_PRINTF("slesCreateServer =%d",status);
+        }
+    }
+    return status;
+}
+int slesDestroy(sles_data ** ppSles) {
+    int status = SLES_FAIL;
+    if (ppSles != NULL) {
+        slesDestroyServer(*ppSles);
+
+        if (*ppSles != NULL)
+        {
+            free(*ppSles);
+            *ppSles = 0;
+        }
+        status = SLES_SUCCESS;
+    }
+    return status;
+}
+
+#define ASSERT_EQ(x, y) do { if ((x) == (y)) ; else { fprintf(stderr, "0x%x != 0x%x\n", \
+        (unsigned) (x), (unsigned) (y)); assert((x) == (y)); } } while (0)
+
+
+// Called after audio recorder fills a buffer with data
+static void recorderCallback(SLAndroidSimpleBufferQueueItf caller __unused, void *context) {
+    sles_data *pSles = (sles_data*) context;
+    if (pSles != NULL) {
+
+
+
+        SLresult result;
+
+        pthread_mutex_lock(&(pSles->mutex));
+        //ee  SLES_PRINTF("<R");
+
+        // We should only be called when a recording buffer is done
+        assert(pSles->rxFront <= pSles->rxBufCount);
+        assert(pSles->rxRear <= pSles->rxBufCount);
+        assert(pSles->rxFront != pSles->rxRear);
+        char *buffer = pSles->rxBuffers[pSles->rxFront];
+
+        // Remove buffer from record queue
+        if (++pSles->rxFront > pSles->rxBufCount) {
+            pSles->rxFront = 0;
+        }
+
+        ssize_t actual = audio_utils_fifo_write(&(pSles->fifo), buffer,
+                (size_t) pSles->bufSizeInFrames);
+        if (actual != (ssize_t) pSles->bufSizeInFrames) {
+            write(1, "?", 1);
+        }
+
+        // This is called by a realtime (SCHED_FIFO) thread,
+        // and it is unsafe to do I/O as it could block for unbounded time.
+        // Flash filesystem is especially notorious for blocking.
+        if (pSles->fifo2Buffer != NULL) {
+            actual = audio_utils_fifo_write(&(pSles->fifo2), buffer,
+                    (size_t) pSles->bufSizeInFrames);
+            if (actual != (ssize_t) pSles->bufSizeInFrames) {
+                write(1, "?", 1);
+            }
+        }
+
+        // Enqueue this same buffer for the recorder to fill again.
+        result = (*(pSles->recorderBufferQueue))->Enqueue(pSles->recorderBufferQueue, buffer,
+                pSles->bufSizeInBytes);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+        // Update our model of the record queue
+        SLuint32 rxRearNext = pSles->rxRear+1;
+        if (rxRearNext > pSles->rxBufCount) {
+            rxRearNext = 0;
+        }
+        assert(rxRearNext != pSles->rxFront);
+        pSles->rxBuffers[pSles->rxRear] = buffer;
+        pSles->rxRear = rxRearNext;
+
+
+
+        //ee  SLES_PRINTF("r>");
+        pthread_mutex_unlock(&(pSles->mutex));
+
+    } //pSles not null
+}
+
+
+// Called after audio player empties a buffer of data
+static void playerCallback(SLBufferQueueItf caller __unused, void *context) {
+    sles_data *pSles = (sles_data*) context;
+    if (pSles != NULL) {
+
+        SLresult result;
+
+        pthread_mutex_lock(&(pSles->mutex));
+        //ee  SLES_PRINTF("<P");
+
+        // Get the buffer that just finished playing
+        assert(pSles->txFront <= pSles->txBufCount);
+        assert(pSles->txRear <= pSles->txBufCount);
+        assert(pSles->txFront != pSles->txRear);
+        char *buffer = pSles->txBuffers[pSles->txFront];
+        if (++pSles->txFront > pSles->txBufCount) {
+            pSles->txFront = 0;
+        }
+
+
+        ssize_t actual = audio_utils_fifo_read(&(pSles->fifo), buffer, pSles->bufSizeInFrames);
+        if (actual != (ssize_t) pSles->bufSizeInFrames) {
+            write(1, "/", 1);
+            // on underrun from pipe, substitute silence
+            memset(buffer, 0, pSles->bufSizeInFrames * pSles->channels * sizeof(short));
+        }
+
+        if (pSles->injectImpulse == -1) {
+            // Experimentally, a single frame impulse was insufficient to trigger feedback.
+            // Also a Nyquist frequency signal was also insufficient, probably because
+            // the response of output and/or input path was not adequate at high frequencies.
+            // This short burst of a few cycles of square wave at Nyquist/4 was found to work well.
+            for (unsigned i = 0; i < pSles->bufSizeInFrames / 8; i += 8) {
+                for (int j = 0; j < 8; j++) {
+                    for (unsigned k = 0; k < pSles->channels; k++) {
+                        ((short *)buffer)[(i+j)*pSles->channels+k] = j < 4 ? 0x7FFF : 0x8000;
+                    }
+                }
+            }
+            pSles->injectImpulse = 0;
+        }
+
+        // Enqueue the filled buffer for playing
+        result = (*(pSles->playerBufferQueue))->Enqueue(pSles->playerBufferQueue, buffer,
+                pSles->bufSizeInBytes);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+        // Update our model of the player queue
+        assert(pSles->txFront <= pSles->txBufCount);
+        assert(pSles->txRear <= pSles->txBufCount);
+        SLuint32 txRearNext = pSles->txRear+1;
+        if (txRearNext > pSles->txBufCount) {
+            txRearNext = 0;
+        }
+        assert(txRearNext != pSles->txFront);
+        pSles->txBuffers[pSles->txRear] = buffer;
+        pSles->txRear = txRearNext;
+
+
+        //ee    SLES_PRINTF("p>");
+        pthread_mutex_unlock(&(pSles->mutex));
+
+    } //pSles not null
+}
+
+int slesCreateServer(sles_data *pSles, int samplingRate, int frameCount, int micSource) {
+    int status = SLES_FAIL;
+
+    if (pSles == NULL) {
+        return status;
+    }
+
+    //        adb shell slesTest_feedback -r1 -t1 -s48000 -f240 -i300 -e3 -o/sdcard/log.wav
+    //            r1 and t1 are the receive and transmit buffer counts, typically 1
+    //            s is the sample rate, typically 48000 or 44100
+    //            f is the frame count per buffer, typically 240 or 256
+    //            i is the number of milliseconds before impulse.  You may need to adjust this.
+    //            e is number of seconds to record
+    //            o is output .wav file name
+
+
+    //        // default values
+    //        SLuint32 rxBufCount = 1;     // -r#
+    //        SLuint32 txBufCount = 1;     // -t#
+    //        SLuint32 bufSizeInFrames = 240;  // -f#
+    //        SLuint32 channels = 1;       // -c#
+    //        SLuint32 sampleRate = 48000; // -s#
+    //        SLuint32 exitAfterSeconds = 3; // -e#
+    //        SLuint32 freeBufCount = 0;   // calculated
+    //        SLuint32 bufSizeInBytes = 0; // calculated
+    //        int injectImpulse = 300; // -i#i
+    //
+    //        // Storage area for the buffer queues
+    //        char **rxBuffers;
+    //        char **txBuffers;
+    //        char **freeBuffers;
+    //
+    //        // Buffer indices
+    //        SLuint32 rxFront;    // oldest recording
+    //        SLuint32 rxRear;     // next to be recorded
+    //        SLuint32 txFront;    // oldest playing
+    //        SLuint32 txRear;     // next to be played
+    //        SLuint32 freeFront;  // oldest free
+    //        SLuint32 freeRear;   // next to be freed
+    //
+    //        audio_utils_fifo fifo; //(*)
+    //        SLAndroidSimpleBufferQueueItf recorderBufferQueue;
+    //        SLBufferQueueItf playerBufferQueue;
+
+    // default values
+    pSles->rxBufCount = 1;     // -r#
+    pSles->txBufCount = 1;     // -t#
+    pSles->bufSizeInFrames = frameCount;//240;  // -f#
+    pSles->channels = 1;       // -c#
+    pSles->sampleRate = samplingRate;//48000; // -s#
+    pSles->exitAfterSeconds = 3; // -e#
+    pSles->freeBufCount = 0;   // calculated
+    pSles->bufSizeInBytes = 0; // calculated
+    pSles->injectImpulse = 300; // -i#i
+
+    // Storage area for the buffer queues
+    //        char **rxBuffers;
+    //        char **txBuffers;
+    //        char **freeBuffers;
+
+    // Buffer indices
+    pSles->rxFront;    // oldest recording
+    pSles->rxRear;     // next to be recorded
+    pSles->txFront;    // oldest playing
+    pSles->txRear;     // next to be played
+    pSles->freeFront;  // oldest free
+    pSles->freeRear;   // next to be freed
+
+    pSles->fifo; //(*)
+    pSles->fifo2Buffer = NULL;
+    pSles->recorderBufferQueue;
+    pSles->playerBufferQueue;
+
+    // compute total free buffers as -r plus -t
+    pSles->freeBufCount = pSles->rxBufCount + pSles->txBufCount;
+    // compute buffer size
+    pSles->bufSizeInBytes = pSles->channels * pSles->bufSizeInFrames * sizeof(short);
+
+    // Initialize free buffers
+    pSles->freeBuffers = (char **) calloc(pSles->freeBufCount+1, sizeof(char *));
+    unsigned j;
+    for (j = 0; j < pSles->freeBufCount; ++j) {
+        pSles->freeBuffers[j] = (char *) malloc(pSles->bufSizeInBytes);
+    }
+    pSles->freeFront = 0;
+    pSles->freeRear = pSles->freeBufCount;
+    pSles->freeBuffers[j] = NULL;
+
+    // Initialize record queue
+    pSles->rxBuffers = (char **) calloc(pSles->rxBufCount+1, sizeof(char *));
+    pSles->rxFront = 0;
+    pSles->rxRear = 0;
+
+    // Initialize play queue
+    pSles->txBuffers = (char **) calloc(pSles->txBufCount+1, sizeof(char *));
+    pSles->txFront = 0;
+    pSles->txRear = 0;
+
+    size_t frameSize = pSles->channels * sizeof(short);
+#define FIFO_FRAMES 1024
+    pSles->fifoBuffer = new short[FIFO_FRAMES * pSles->channels];
+    audio_utils_fifo_init(&(pSles->fifo), FIFO_FRAMES, frameSize, pSles->fifoBuffer);
+
+    //        SNDFILE *sndfile;
+    //        if (outFileName != NULL) {
+    // create .wav writer
+    //            SF_INFO info;
+    //            info.frames = 0;
+    //            info.samplerate = sampleRate;
+    //            info.channels = channels;
+    //            info.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16;
+    //            sndfile = sf_open(outFileName, SFM_WRITE, &info);
+    //            if (sndfile != NULL) {
+#define FIFO2_FRAMES 65536
+    pSles->fifo2Buffer = new short[FIFO2_FRAMES * pSles->channels];
+    audio_utils_fifo_init(&(pSles->fifo2), FIFO2_FRAMES, frameSize, pSles->fifo2Buffer);
+    //            } else {
+    //                fprintf(stderr, "sf_open failed\n");
+    //            }
+    //        } else {
+    //            sndfile = NULL;
+    //        }
+
+    SLresult result;
+
+    // create engine
+    pSles->engineObject;
+    result = slCreateEngine(&(pSles->engineObject), 0, NULL, 0, NULL, NULL);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->engineObject))->Realize(pSles->engineObject, SL_BOOLEAN_FALSE);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    SLEngineItf engineEngine;
+    result = (*(pSles->engineObject))->GetInterface(pSles->engineObject, SL_IID_ENGINE,
+            &engineEngine);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // create output mix
+    pSles->outputmixObject;
+    result = (*engineEngine)->CreateOutputMix(engineEngine, &(pSles->outputmixObject), 0, NULL,
+            NULL);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->outputmixObject))->Realize(pSles->outputmixObject, SL_BOOLEAN_FALSE);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // create an audio player with buffer queue source and output mix sink
+    SLDataSource audiosrc;
+    SLDataSink audiosnk;
+    SLDataFormat_PCM pcm;
+    SLDataLocator_OutputMix locator_outputmix;
+    SLDataLocator_BufferQueue locator_bufferqueue_tx;
+    locator_bufferqueue_tx.locatorType = SL_DATALOCATOR_BUFFERQUEUE;
+    locator_bufferqueue_tx.numBuffers = pSles->txBufCount;
+    locator_outputmix.locatorType = SL_DATALOCATOR_OUTPUTMIX;
+    locator_outputmix.outputMix = pSles->outputmixObject;
+    pcm.formatType = SL_DATAFORMAT_PCM;
+    pcm.numChannels = pSles->channels;
+    pcm.samplesPerSec = pSles->sampleRate * 1000;
+    pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16;
+    pcm.containerSize = 16;
+    pcm.channelMask = pSles->channels == 1 ? SL_SPEAKER_FRONT_CENTER :
+            (SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT);
+    pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
+    audiosrc.pLocator = &locator_bufferqueue_tx;
+    audiosrc.pFormat = &pcm;
+    audiosnk.pLocator = &locator_outputmix;
+    audiosnk.pFormat = NULL;
+    pSles->playerObject = NULL;
+    pSles->recorderObject = NULL;
+    SLInterfaceID ids_tx[1] = {SL_IID_BUFFERQUEUE};
+    SLboolean flags_tx[1] = {SL_BOOLEAN_TRUE};
+    result = (*engineEngine)->CreateAudioPlayer(engineEngine, &(pSles->playerObject),
+            &audiosrc, &audiosnk, 1, ids_tx, flags_tx);
+    if (SL_RESULT_CONTENT_UNSUPPORTED == result) {
+        fprintf(stderr, "Could not create audio player (result %x), check sample rate\n",
+                result);
+        SLES_PRINTF("ERROR: Could not create audio player (result %x), check sample rate\n",
+                result);
+        goto cleanup;
+    }
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->playerObject))->Realize(pSles->playerObject, SL_BOOLEAN_FALSE);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    SLPlayItf playerPlay;
+    result = (*(pSles->playerObject))->GetInterface(pSles->playerObject, SL_IID_PLAY,
+            &playerPlay);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->playerObject))->GetInterface(pSles->playerObject, SL_IID_BUFFERQUEUE,
+            &(pSles->playerBufferQueue));
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->playerBufferQueue))->RegisterCallback(pSles->playerBufferQueue,
+            playerCallback, pSles);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // Enqueue some zero buffers for the player
+    for (j = 0; j < pSles->txBufCount; ++j) {
+
+        // allocate a free buffer
+        assert(pSles->freeFront != pSles->freeRear);
+        char *buffer = pSles->freeBuffers[pSles->freeFront];
+        if (++pSles->freeFront > pSles->freeBufCount) {
+            pSles->freeFront = 0;
+        }
+
+        // put on play queue
+        SLuint32 txRearNext = pSles->txRear + 1;
+        if (txRearNext > pSles->txBufCount) {
+            txRearNext = 0;
+        }
+        assert(txRearNext != pSles->txFront);
+        pSles->txBuffers[pSles->txRear] = buffer;
+        pSles->txRear = txRearNext;
+        result = (*(pSles->playerBufferQueue))->Enqueue(pSles->playerBufferQueue,
+                buffer, pSles->bufSizeInBytes);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    }
+
+    result = (*playerPlay)->SetPlayState(playerPlay, SL_PLAYSTATE_PLAYING);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // Create an audio recorder with microphone device source and buffer queue sink.
+    // The buffer queue as sink is an Android-specific extension.
+
+    SLDataLocator_IODevice locator_iodevice;
+    SLDataLocator_AndroidSimpleBufferQueue locator_bufferqueue_rx;
+    locator_iodevice.locatorType = SL_DATALOCATOR_IODEVICE;
+    locator_iodevice.deviceType = SL_IODEVICE_AUDIOINPUT;
+    locator_iodevice.deviceID = SL_DEFAULTDEVICEID_AUDIOINPUT;
+    locator_iodevice.device = NULL;
+    audiosrc.pLocator = &locator_iodevice;
+    audiosrc.pFormat = NULL;
+    locator_bufferqueue_rx.locatorType = SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE;
+    locator_bufferqueue_rx.numBuffers = pSles->rxBufCount;
+    audiosnk.pLocator = &locator_bufferqueue_rx;
+    audiosnk.pFormat = &pcm;
+    {
+        SLInterfaceID ids_rx[2] = {SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
+                SL_IID_ANDROIDCONFIGURATION};
+        SLboolean flags_rx[2] = {SL_BOOLEAN_TRUE, SL_BOOLEAN_TRUE};
+        result = (*engineEngine)->CreateAudioRecorder(engineEngine, &(pSles->recorderObject),
+                &audiosrc, &audiosnk, 2, ids_rx, flags_rx);
+        if (SL_RESULT_SUCCESS != result) {
+            fprintf(stderr, "Could not create audio recorder (result %x), "
+                    "check sample rate and channel count\n", result);
+            status = SLES_FAIL;
+
+            SLES_PRINTF("ERROR: Could not create audio recorder (result %x), "
+                    "check sample rate and channel count\n", result);
+            goto cleanup;
+        }
+    }
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    {
+        /* Get the Android configuration interface which is explicit */
+        SLAndroidConfigurationItf configItf;
+        result = (*(pSles->recorderObject))->GetInterface(pSles->recorderObject,
+                SL_IID_ANDROIDCONFIGURATION, (void*)&configItf);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+        SLuint32 presetValue = micSource;
+        /* Use the configuration interface to configure the recorder before it's realized */
+        if (presetValue != SL_ANDROID_RECORDING_PRESET_NONE) {
+            result = (*configItf)->SetConfiguration(configItf, SL_ANDROID_KEY_RECORDING_PRESET,
+                    &presetValue, sizeof(SLuint32));
+            ASSERT_EQ(SL_RESULT_SUCCESS, result);
+        }
+
+    }
+
+    result = (*(pSles->recorderObject))->Realize(pSles->recorderObject, SL_BOOLEAN_FALSE);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    SLRecordItf recorderRecord;
+    result = (*(pSles->recorderObject))->GetInterface(pSles->recorderObject, SL_IID_RECORD,
+            &recorderRecord);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->recorderObject))->GetInterface(pSles->recorderObject,
+            SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &(pSles->recorderBufferQueue));
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    result = (*(pSles->recorderBufferQueue))->RegisterCallback(pSles->recorderBufferQueue,
+            recorderCallback, pSles);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // Enqueue some empty buffers for the recorder
+    for (j = 0; j < pSles->rxBufCount; ++j) {
+
+        // allocate a free buffer
+        assert(pSles->freeFront != pSles->freeRear);
+        char *buffer = pSles->freeBuffers[pSles->freeFront];
+        if (++pSles->freeFront > pSles->freeBufCount) {
+            pSles->freeFront = 0;
+        }
+
+        // put on record queue
+        SLuint32 rxRearNext = pSles->rxRear + 1;
+        if (rxRearNext > pSles->rxBufCount) {
+            rxRearNext = 0;
+        }
+        assert(rxRearNext != pSles->rxFront);
+        pSles->rxBuffers[pSles->rxRear] = buffer;
+        pSles->rxRear = rxRearNext;
+        result = (*(pSles->recorderBufferQueue))->Enqueue(pSles->recorderBufferQueue,
+                buffer, pSles->bufSizeInBytes);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    }
+
+    // Kick off the recorder
+    result = (*recorderRecord)->SetRecordState(recorderRecord, SL_RECORDSTATE_RECORDING);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    // Tear down the objects and exit
+    status = SLES_SUCCESS;
+    cleanup:
+    SLES_PRINTF("Finished initialization with status: %d", status);
+
+    return status;
+}
+
+int slesProcessNext(sles_data *pSles, double *pSamples, long maxSamples) {
+    //int status = SLES_FAIL;
+
+    SLES_PRINTF("slesProcessNext: pSles = %p, currentSample: %p,  maxSamples = %ld", pSles,
+            pSamples, maxSamples);
+
+    int samplesRead = 0;
+
+    int currentSample = 0;
+    double *pCurrentSample = pSamples;
+    int maxValue = 32768;
+
+    if (pSles == NULL) {
+        return samplesRead;
+    }
+
+    SLresult result;
+    for (int i = 0; i < 10; i++) {
+        usleep(100000);
+        if (pSles->fifo2Buffer != NULL) {
+            for (;;) {
+                short buffer[pSles->bufSizeInFrames * pSles->channels];
+                ssize_t actual = audio_utils_fifo_read(&(pSles->fifo2), buffer,
+                        pSles->bufSizeInFrames);
+                if (actual <= 0)
+                    break;
+                {
+                    for (int jj =0; jj<actual && currentSample < maxSamples; jj++) {
+                        *(pCurrentSample++) = ((double)buffer[jj])/maxValue;
+                        currentSample++;
+                    }
+                }
+                samplesRead +=actual;
+            }
+        }
+        if (pSles->injectImpulse > 0) {
+            if (pSles->injectImpulse <= 100) {
+                pSles->injectImpulse = -1;
+                write(1, "I", 1);
+            } else {
+                if ((pSles->injectImpulse % 1000) < 100) {
+                    write(1, "i", 1);
+                }
+                pSles->injectImpulse -= 100;
+            }
+        } else if (i == 9) {
+            write(1, ".", 1);
+        }
+    }
+    SLBufferQueueState playerBQState;
+    result = (*(pSles->playerBufferQueue))->GetState(pSles->playerBufferQueue,
+            &playerBQState);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    SLAndroidSimpleBufferQueueState recorderBQState;
+    result = (*(pSles->recorderBufferQueue))->GetState(pSles->recorderBufferQueue,
+            &recorderBQState);
+    ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+    SLES_PRINTF("End of slesProcessNext: pSles = %p, samplesRead = %d, maxSamples= %ld", pSles,
+            samplesRead, maxSamples);
+
+    return samplesRead;
+}
+
+int slesDestroyServer(sles_data *pSles) {
+    int status = SLES_FAIL;
+
+    SLES_PRINTF("Start slesDestroyServer: pSles = %p", pSles);
+    if (pSles == NULL) {
+        return status;
+    }
+
+    if (NULL != pSles->playerObject) {
+
+        SLES_PRINTF("stopping player...");
+        SLPlayItf playerPlay;
+        SLresult result = (*(pSles->playerObject))->GetInterface(pSles->playerObject,
+                SL_IID_PLAY, &playerPlay);
+
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+        //stop player and recorder if they exist
+        result = (*playerPlay)->SetPlayState(playerPlay, SL_PLAYSTATE_STOPPED);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    }
+
+    if (NULL != pSles->recorderObject) {
+        SLES_PRINTF("stopping recorder...");
+        SLRecordItf recorderRecord;
+        SLresult result = (*(pSles->recorderObject))->GetInterface(pSles->recorderObject,
+                SL_IID_RECORD, &recorderRecord);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+
+        result = (*recorderRecord)->SetRecordState(recorderRecord, SL_RECORDSTATE_STOPPED);
+        ASSERT_EQ(SL_RESULT_SUCCESS, result);
+    }
+
+    usleep(1000);
+
+    audio_utils_fifo_deinit(&(pSles->fifo));
+    delete[] pSles->fifoBuffer;
+
+    SLES_PRINTF("slesDestroyServer 2");
+
+    //        if (sndfile != NULL) {
+    audio_utils_fifo_deinit(&(pSles->fifo2));
+    delete[] pSles->fifo2Buffer;
+
+    SLES_PRINTF("slesDestroyServer 3");
+
+    //            sf_close(sndfile);
+    //        }
+    if (NULL != pSles->playerObject) {
+        (*(pSles->playerObject))->Destroy(pSles->playerObject);
+    }
+
+    SLES_PRINTF("slesDestroyServer 4");
+
+    if (NULL != pSles->recorderObject) {
+        (*(pSles->recorderObject))->Destroy(pSles->recorderObject);
+    }
+
+    SLES_PRINTF("slesDestroyServer 5");
+
+    (*(pSles->outputmixObject))->Destroy(pSles->outputmixObject);
+    SLES_PRINTF("slesDestroyServer 6");
+    (*(pSles->engineObject))->Destroy(pSles->engineObject);
+    SLES_PRINTF("slesDestroyServer 7");
+
+    //        free(pSles);
+    //        pSles=NULL;
+
+    status = SLES_SUCCESS;
+
+    SLES_PRINTF("End slesDestroyServer: status = %d", status);
+    return status;
+}
+
diff --git a/apps/CtsVerifier/jni/audio_loopback/sles.h b/apps/CtsVerifier/jni/audio_loopback/sles.h
new file mode 100644
index 0000000..2550b81
--- /dev/null
+++ b/apps/CtsVerifier/jni/audio_loopback/sles.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <SLES/OpenSLES.h>
+#include <SLES/OpenSLES_Android.h>
+#include <pthread.h>
+#include <android/log.h>
+
+#ifndef _Included_org_drrickorang_loopback_sles
+#define _Included_org_drrickorang_loopback_sles
+
+//struct audio_utils_fifo;
+#define SLES_PRINTF(...)  __android_log_print(ANDROID_LOG_INFO, "sles_jni", __VA_ARGS__);
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include <audio_utils/fifo.h>
+
+typedef struct {
+    SLuint32 rxBufCount;     // -r#
+    SLuint32 txBufCount;     // -t#
+    SLuint32 bufSizeInFrames;  // -f#
+    SLuint32 channels;       // -c#
+    SLuint32 sampleRate; // -s#
+    SLuint32 exitAfterSeconds; // -e#
+    SLuint32 freeBufCount;   // calculated
+    SLuint32 bufSizeInBytes; // calculated
+    int injectImpulse; // -i#i
+
+    // Storage area for the buffer queues
+    char **rxBuffers;
+    char **txBuffers;
+    char **freeBuffers;
+
+    // Buffer indices
+    SLuint32 rxFront;    // oldest recording
+    SLuint32 rxRear;     // next to be recorded
+    SLuint32 txFront;    // oldest playing
+    SLuint32 txRear;     // next to be played
+    SLuint32 freeFront;  // oldest free
+    SLuint32 freeRear;   // next to be freed
+
+    struct audio_utils_fifo fifo; //(*)
+    struct audio_utils_fifo fifo2;
+    short *fifo2Buffer;
+    short *fifoBuffer;
+    SLAndroidSimpleBufferQueueItf recorderBufferQueue;
+    SLBufferQueueItf playerBufferQueue;
+
+    pthread_mutex_t mutex;// = PTHREAD_MUTEX_INITIALIZER;
+
+    //other things that belong here
+    SLObjectItf playerObject;
+    SLObjectItf recorderObject;
+    SLObjectItf outputmixObject;
+    SLObjectItf engineObject;
+} sles_data;
+
+enum {
+    SLES_SUCCESS = 0,
+    SLES_FAIL = 1,
+} SLES_STATUS_ENUM;
+
+int slesInit(sles_data ** ppSles, int samplingRate, int frameCount, int micSource);
+
+//note the double pointer to properly free the memory of the structure
+int slesDestroy(sles_data ** ppSles);
+
+///full
+int slesFull(sles_data *pSles);
+
+int slesCreateServer(sles_data *pSles, int samplingRate, int frameCount, int micSource);
+int slesProcessNext(sles_data *pSles, double *pSamples, long maxSamples);
+int slesDestroyServer(sles_data *pSles);
+
+#ifdef __cplusplus
+}
+#endif
+#endif //_Included_org_drrickorang_loopback_sles
diff --git a/apps/CtsVerifier/res/layout/audio_frequency_line_activity.xml b/apps/CtsVerifier/res/layout/audio_frequency_line_activity.xml
new file mode 100644
index 0000000..69e3bc7
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/audio_frequency_line_activity.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="10dip"
+        android:orientation="vertical">
+
+  <TextView
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:scrollbars="vertical"
+      android:gravity="bottom"
+      android:id="@+id/info_text"
+      android:text="@string/audio_frequency_line_instructions" />
+  <LinearLayout
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:orientation="vertical">
+      <Button
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
+          android:id="@+id/audio_frequency_line_plug_ready_btn"
+          android:text="@string/audio_frequency_line_plug_ready_btn"/>
+
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+     <LinearLayout
+          android:layout_width="wrap_content"
+          android:layout_height="wrap_content"
+          android:orientation="horizontal"
+          android:id="@+id/audio_frequency_line_layout">
+            <Button
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/audio_frequency_line_test_btn"
+                android:id="@+id/audio_frequency_line_test_btn"/>
+
+            <ProgressBar
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:id="@+id/audio_frequency_line_progress_bar"/>
+        </LinearLayout>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/audio_frequency_line_results_text"
+            android:id="@+id/audio_frequency_line_results_text"/>
+
+    </LinearLayout>
+    </LinearLayout>
+
+  <include layout="@layout/pass_fail_buttons" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/layout/audio_frequency_speaker_activity.xml b/apps/CtsVerifier/res/layout/audio_frequency_speaker_activity.xml
new file mode 100644
index 0000000..5dd55b1
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/audio_frequency_speaker_activity.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:padding="10dip"
+    android:orientation="vertical">
+
+    <ScrollView
+       android:layout_width="match_parent"
+       android:layout_height="match_parent"
+       android:id="@+id/scrollView">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:scrollbars="vertical"
+            android:gravity="bottom"
+            android:id="@+id/info_text"
+            android:text="@string/audio_frequency_speaker_instructions"/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+            <Button
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:id="@+id/audio_frequency_speaker_mic_ready_btn"
+                android:text="@string/audio_frequency_speaker_mic_ready_btn"/>
+
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/audio_frequency_speaker_usb_status"
+                android:id="@+id/audio_frequency_speaker_usb_status"/>
+
+            <LinearLayout
+                android:orientation="vertical"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+                <LinearLayout
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="horizontal"
+                    android:id="@+id/audio_frequency_speaker_layout">
+                    <Button
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:text="@string/audio_frequency_speaker_test_btn"
+                        android:id="@+id/audio_frequency_speaker_test_btn"/>
+
+                    <ProgressBar
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:id="@+id/audio_frequency_speaker_progress_bar"/>
+                </LinearLayout>
+
+                <TextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:text="@string/audio_frequency_speaker_results_text"
+                    android:id="@+id/audio_frequency_speaker_results_text"/>
+
+            </LinearLayout>
+        </LinearLayout>
+
+        <include layout="@layout/pass_fail_buttons"/>
+        </LinearLayout>
+      </ScrollView>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/layout/audio_loopback_activity.xml b/apps/CtsVerifier/res/layout/audio_loopback_activity.xml
new file mode 100644
index 0000000..626ac4f
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/audio_loopback_activity.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="10dip"
+        android:orientation="vertical">
+
+  <TextView
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:scrollbars="vertical"
+      android:gravity="bottom"
+      android:id="@+id/info_text"
+      android:text="@string/audio_loopback_instructions" />
+  <LinearLayout
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:orientation="vertical">
+      <Button
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
+          android:id="@+id/audio_loopback_plug_ready_btn"
+          android:text="@string/audio_loopback_plug_ready_btn"/>
+
+    <LinearLayout
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:id="@+id/audio_loopback_layout">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/audio_loopback_instructions2"
+            android:id="@+id/audio_loopback_instructions2"/>
+
+        <SeekBar
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:id="@+id/audio_loopback_level_seekbar"/>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/audio_loopback_level_text"
+            android:id="@+id/audio_loopback_level_text"/>
+
+        <Button
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/audio_loopback_test_btn"
+            android:id="@+id/audio_loopback_test_btn"/>
+
+        <ProgressBar
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/audio_loopback_progress_bar"/>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/audio_loopback_results_text"
+            android:id="@+id/audio_loopback_results_text"/>
+    </LinearLayout>
+    </LinearLayout>
+
+  <include layout="@layout/pass_fail_buttons" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/layout/byod_custom_view.xml b/apps/CtsVerifier/res/layout/dialog_custom_view.xml
similarity index 100%
rename from apps/CtsVerifier/res/layout/byod_custom_view.xml
rename to apps/CtsVerifier/res/layout/dialog_custom_view.xml
diff --git a/apps/CtsVerifier/res/layout/permission_lockdown.xml b/apps/CtsVerifier/res/layout/permission_lockdown.xml
new file mode 100644
index 0000000..ea295dd
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/permission_lockdown.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/permission_lockdown_activity"
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+    <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:paddingTop="4dp">
+        <TextView
+                android:id="@+id/test_instructions"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/device_profile_owner_permission_lockdown_test_instructions"
+                android:textSize="18sp"
+                android:padding="10dp" />
+    </ScrollView>
+
+    <ScrollView
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1">
+        <LinearLayout
+                android:orientation="vertical"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:layout_gravity="center_vertical"
+                android:paddingStart="10dp"
+                android:paddingEnd="10dp">
+
+            <LinearLayout
+                    android:orientation="horizontal"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:paddingTop="4dp">
+                <ImageView
+                        android:id="@+id/package_icon"
+                        android:layout_width="48dp"
+                        android:layout_height="48dp"
+                        android:scaleType="centerInside"
+                        android:gravity="center" />
+                <TextView
+                        android:id="@+id/package_name"
+                        android:layout_width="wrap_content"
+                        android:layout_height="match_parent"
+                        android:gravity="center_vertical"
+                        android:paddingLeft="10dp"
+                        android:textSize="16sp"
+                        android:singleLine="true"
+                        android:ellipsize="end" />
+            </LinearLayout>
+
+            <TextView
+                    android:id="@+id/permission_name"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textSize="16sp"
+                    android:paddingTop="4dp" />
+
+            <RadioGroup
+                    android:id="@+id/permission_group"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:orientation="vertical"
+                    android:paddingTop="4dp">
+                <RadioButton
+                        android:id="@+id/permission_allow"
+                        android:text="@string/permission_allow"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content" />
+                <RadioButton
+                        android:id="@+id/permission_default"
+                        android:text="@string/permission_default"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content" />
+                <RadioButton
+                        android:id="@+id/permission_deny"
+                        android:text="@string/permission_deny"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content" />
+            </RadioGroup>
+
+            <Button
+                    android:id="@+id/open_settings"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center_horizontal"
+                    android:text="@string/open_settings_button_label"
+                    android:onClick="openSettings" />
+        </LinearLayout>
+    </ScrollView>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/layout/provisioning_byod.xml b/apps/CtsVerifier/res/layout/provisioning_byod.xml
index b1b75ba..375c3ab 100644
--- a/apps/CtsVerifier/res/layout/provisioning_byod.xml
+++ b/apps/CtsVerifier/res/layout/provisioning_byod.xml
@@ -24,19 +24,17 @@
             android:layout_height="320dp"
             android:layout_weight="2">
         <TextView
-                android:id="@+id/byod_instructions"
+                android:id="@+id/test_instructions"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:padding="10dip"
-                android:text="@string/provisioning_byod_instructions"
                 android:textSize="18dip" />
     </ScrollView>
 
     <Button
-        android:id="@+id/byod_start"
+        android:id="@+id/prepare_test_button"
         android:layout_width="204dp"
-        android:layout_height="wrap_content"
-        android:text="@string/provisioning_byod_start" />
+        android:layout_height="wrap_content" />
 
     <ListView
         android:id="@+id/android:list"
diff --git a/apps/CtsVerifier/res/layout/sec_screen_lock_keys_main.xml b/apps/CtsVerifier/res/layout/sec_screen_lock_keys_main.xml
new file mode 100644
index 0000000..af53335
--- /dev/null
+++ b/apps/CtsVerifier/res/layout/sec_screen_lock_keys_main.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:padding="10dip"
+        >
+
+    <Button android:id="@+id/sec_start_test_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:text="@string/sec_start_test"
+            />
+
+    <include android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_alignParentBottom="true"
+            layout="@layout/pass_fail_buttons"
+            />
+
+</RelativeLayout>
+
diff --git a/apps/CtsVerifier/res/raw/stereo_mono_white_noise_48.mp3 b/apps/CtsVerifier/res/raw/stereo_mono_white_noise_48.mp3
new file mode 100644
index 0000000..e877fc1
--- /dev/null
+++ b/apps/CtsVerifier/res/raw/stereo_mono_white_noise_48.mp3
Binary files differ
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index 800deb6..c137c5a 100644
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -22,6 +22,7 @@
     <string name="info_button_text">Info</string>
     <string name="fail_button_text">Fail</string>
     <string name="next_button_text">Next</string>
+    <string name="go_button_text">Go</string>
 
     <!-- Strings for TestListActivity -->
     <string name="test_category_audio">Audio</string>
@@ -89,11 +90,13 @@
     </string>
     <string name="car_dock_test">Car Dock Test</string>
     <string name="car_dock_test_desc">This test ensures that car mode opens the app associated with
-        car dock when going into car mode. Click on "Enable Car Mode" to start the test. Clicking on
-        the button will either bring up a disambiguation dialog asking which app to open or
-        immediately open the CAR_DOCK application. Select the "CTS Verifier" app if the dialog pops up,
-        which open the CAR_DOCK application. In the CAR_DOCK application, press the home button, which
-        will enable the pass button if the framework correctly tries to open the CAR_DOCk app again.</string>
+        car dock when going into car mode.\n\n
+        Click on "Enable Car Mode" to start the test. Clicking on the button will either bring up a
+        disambiguation dialog asking which app to open or immediately open the CAR_DOCK application.
+        Select the "CTS Verifier" app and then "Always" if the dialog pops up.
+        This will open the CAR_DOCK application.\n\n
+        In the CAR_DOCK application, press the home button, which will enable the pass button if the
+        framework correctly tries to open the CAR_DOCK app again.</string>
     <string name="car_mode_enable">Enable Car Mode</string>
     <string name="car_dock_activity_text">Press the Home button</string>
     <string name="da_no_policy">1. Press the \"Generate Policy\" to create a random device
@@ -124,6 +127,24 @@
     <string name="da_lock_success">It appears the screen was locked successfully!</string>
     <string name="da_lock_error">It does not look like the screen was locked...</string>
 
+    <!-- Strings for lock bound keys test -->
+    <string name="sec_lock_bound_key_test">Lock Bound Keys Test</string>
+    <string name="sec_lock_bound_key_test_info">
+        This test ensures that Keystore cryptographic keys that are bound to lock screen authentication
+        are unusable without a recent enough authentication. You need to set up a screen lock in order to
+        complete this test. If available, this test should be run by using fingerprint authentication
+        as well as PIN/pattern/password authentication.
+    </string>
+    <string name="sec_fingerprint_bound_key_test">Fingerprint Bound Keys Test</string>
+    <string name="sec_fingerprint_bound_key_test_info">
+        This test ensures that Keystore cryptographic keys that are bound to fingerprint authentication
+        are unusable without an authentication. You need to set up a fingerprint order to
+        complete this test.
+    </string>
+    <string name="sec_fp_dialog_message">Authenticate now with fingerprint</string>
+    <string name="sec_fp_auth_failed">Authentication failed</string>
+    <string name="sec_start_test">Start Test</string>
+
     <!-- Strings for BluetoothActivity -->
     <string name="bluetooth_test">Bluetooth Test</string>
     <string name="bluetooth_test_info">The Bluetooth Control tests check whether or not the device
@@ -378,6 +399,7 @@
     <string name="nfc_pee_2_pee">Peer-to-Peer Data Exchange</string>
     <string name="nfc_ndef_push_sender">NDEF Push Sender</string>
     <string name="nfc_ndef_push_receiver">NDEF Push Receiver</string>
+    <string name="nfc_llcp_version_check">LLCP version check</string>
 
     <string name="nfc_tag_verification">Tag Verification</string>
     <string name="nfc_ndef">NDEF</string>
@@ -399,6 +421,13 @@
     <string name="nfc_ndef_push_receive_failure">Failed to receive the correct NDEF push
         message.</string>
 
+    <string name="nfc_llcp_version_check_info">This test requires two candidate devices
+       with NFC enabled to exchange P2P messages. Start the \"LLCP version check\" test on
+       the other candidate device also, and touch the devices back to back. This test
+       then verifies that the candidate device correctly advises the LLCP version as 1.2</string>
+    <string name="nfc_llcp_version_check_failure">The candidate devices does not report LLCP
+       version 1.2 or higher.</string>
+    <string name="nfc_llcp_version_check_success">The candidate device has a valid LLCP version.</string>
     <string name="nfc_tag_verifier">NFC Tag Verifier</string>
     <string name="nfc_tag_verifier_info">Follow the on-screen instructions to write and read
         a tag of the chosen technology.</string>
@@ -1068,13 +1097,12 @@
         respecting user preferences about notification ranking and filtering.
     </string>
     <string name="attention_ready">I\'m done</string>
-    <string name="attention_filter_all">Please set the notification filter to \"All\" in the dialog
-        that appears when you change the device\'s volume.</string>
-    <string name="attention_filter_priority">Please set the notification filter to \"Priority\" in
-        the dialog that appears when you change the device\'s volume, and allow messages from
-        starred contacts.</string>
-    <string name="attention_filter_none">Please set the notification filter to \"None\" in the dialog
-        that appears when you change the device\'s volume.</string>
+    <string name="attention_filter_all">Please disable \"Do not disturb\" by tapping the Quick Settings tile.</string>
+    <string name="attention_filter_priority">Please select \"Priority only\" in the dialog that appears
+        when you tap the \"Do not disturb\" tile in Quick Settings, and customize the setting to allow messages from
+        starred contacts only by tapping "More settings".</string>
+    <string name="attention_filter_none">Please select \"Total silence\" in the dialog that appears
+        when you tap the \"Do not disturb\" tile in Quick Settings.</string>
     <string name="attention_create_contacts">Create contacts for notification annotations.</string>
     <string name="attention_delete_contacts">Delete test contacts.</string>
     <string name="attention_default_order">Check that ranker defaults to time order.</string>
@@ -1420,6 +1448,42 @@
         \n
         Verify that you are prompted with the above choices and both options work as intended. Then mark this test accordingly.
     </string>
+    <string name="provisioning_byod_keyguard_disabled_features">Keyguard disabled features</string>
+    <string name="provisioning_byod_keyguard_disabled_features_info">
+        This test exercises Keyguard Disabled Features. Follow instructions above.
+    </string>
+    <string name="provisioning_byod_keyguard_disabled_features_instruction">
+        Please press the \"Prepare test\" button to disable trust agents.\n
+        Then please press through the following verification steps.\n
+        Note: Device password will be set to \"testpassword\". After leaving the screen device password be cleared.
+    </string>
+    <string name="provisioning_byod_keyguard_disabled_features_prepare_button">Prepare test</string>
+    <string name="provisioning_byod_disable_trust_agents">Disable trust agents</string>
+    <string name="provisioning_byod_disable_trust_agents_instruction">
+        Please press the Go button to go to Settings > Security. Then go to Trusted agents and\n
+        check if the agents are shown as disabled by the administrator.
+        Then please press Back and mark the test as \"Pass\" or \"Fail\".
+    </string>
+    <string name="provisioning_byod_fingerprint_disabled_in_settings">Fingerprint is disabled in Settings</string>
+    <string name="provisioning_byod_fingerprint_disabled_in_settings_instruction">
+        Please press the Go button to go to Settings > Security. Then go to Fingerprint and\n
+        check if the screen is shown as disabled by the administrator.
+        Then please press Back and mark the test as \"Pass\" or \"Fail\".
+    </string>
+    <string name="provisioning_byod_disable_fingerprint">Fingerprint disabled on keyguard</string>
+    <string name="provisioning_byod_disable_fingerprint_instruction">
+        Please press the Go button to lock the screen. Then try to log in using the fingerprint reader.\n
+        Expected result is you cannot log in using your fingerprint.\n
+        After you log back in, please navigate back to CtsVerifier and mark the test as \"Pass\" or \"Fail\".
+    </string>
+    <string name="provisioning_byod_disable_notifications">Notifications disabled on keyguard</string>
+    <string name="provisioning_byod_disable_notifications_instruction">
+        Please press the Go button to lock the screen. Wait a couple of seconds and look out for a
+        notification from CtsVerifier.\n
+        Expected result is the notification is shown as \"Contents hidden\", you can not see the contents
+        (Which would read \"This is a work notification\").\n
+        After you log back in, please navigate back to CtsVerifier and mark the test as \"Pass\" or \"Fail\".
+    </string>
     <string name="provisioning_byod_work_notification">Work notification is badged</string>
     <string name="provisioning_byod_work_notification_instruction">
         Please press the Go button to trigger a notification.\n
@@ -1526,7 +1590,6 @@
     <string name="provisioning_byod_delete_profile">Initiate deletion of work profile.</string>
     <string name="provisioning_byod_profile_deleted">Work profile deleted.</string>
     <string name="provisioning_byod_disabled">Device provisioning is not enabled.</string>
-    <string name="provisioning_byod_go">Go</string>
     <string name="provisioning_button_finish">Finish</string>
     <string name="provisioning_cross_profile_chooser">Choose an app to complete action</string>
 
@@ -1636,6 +1699,67 @@
     </string>
     <string name="device_owner_disable_keyguard_button">Disable keyguard</string>
     <string name="device_owner_reenable_keyguard_button">Reenable keyguard</string>
+    <string name="device_profile_owner_permission_lockdown_test">Permissions lockdown</string>
+    <string name="device_profile_owner_permission_lockdown_test_instructions">
+            Select each of the three grant states for the permission shown below in turn.\n
+            Now open application settings, select Permissions, and verify if the following behaviour is observed.\n
+            <b>Allow:</b> Permission is granted to the app and cannot be changed through the settings UI.\n
+            <b>Let user decide:</b> Permission state can be changed through the settings UI.\n
+            <b>Deny:</b> Permission is denied to the app and cannot be changed through the settings UI.\n
+            Please mark the test accordingly.
+    </string>
+    <string name="device_owner_permission_lockdown_test_info">
+        This test checks if the permissions state in settings UI is locked down according to the state set by the device owner.
+    </string>
+    <string name="profile_owner_permission_lockdown_test_info">
+        <b>
+        Before proceeding, check if com.android.cts.permissionapp (aka CtsPermissionApp) is installed in work profile by going to Settings &gt; Apps. If not, please install the app before proceeding.\n\n
+        </b>
+        This test checks if the permissions state in settings UI is locked down correctly depending on the state set by the profile owner.
+    </string>
+    <string name="package_not_found">You must install %s (aka CtsPermissionApp).</string>
+    <string name="permission_allow">Grant</string>
+    <string name="permission_default">Let user decide</string>
+    <string name="permission_deny">Deny</string>
+    <string name="not_profile_owner">%s is not profile owner.</string>
+    <string name="not_device_owner">%s is not device owner.</string>
+    <string name="activity_not_found">No activity found to handle intent: %s</string>
+    <string name="open_settings_button_label">Open Application Settings</string>
+    <string name="finish_button_label">Finish</string>
+    <string name="device_owner_device_admin_visible">Device administrator settings</string>
+    <string name="device_owner_device_admin_visible_info">
+        Please press the Go button to open the Security page in Settings.
+        Navigate to Device administrators and confirm that:\n
+        \n
+        - \"CTS Verifier - AfW Admin\" exists and is activated.\n
+        - \"CTS Verifier - AfW Admin\" cannot be disabled.\n
+        \n
+        Use the Back button to return to this page.
+    </string>
+    <string name="device_owner_disallow_config_bt">Disallow configuring Bluetooth</string>
+    <string name="device_owner_disallow_config_bt_info">
+        Please press the Set restriction button to set the user restriction.
+        Then press Go to open the Bluetooth page in Settings.
+        Confirm that:\n
+        \n
+        - You cannot view Bluetooth devices in range.\n
+        - You cannot edit, add or remove any already paired devices.\n
+        \n
+        Use the Back button to return to this page.
+    </string>
+    <string name="device_owner_disallow_config_wifi">Disallow configuring WiFi</string>
+    <string name="device_owner_disallow_config_wifi_info">
+        Please press the Set restriction button to set the user restriction.
+        Then press Go to open the WiFi page in Settings.
+        Confirm that:\n
+        \n
+        - You cannot view WiFi networks in range.\n
+        - You cannot edit, add or remove any existing WiFi configs.\n
+        \n
+        Use the Back button to return to this page.
+    </string>
+    <string name="device_owner_user_restriction_set">Set restriction</string>
+    <string name="device_owner_settings_go">Go</string>
 
     <!-- Strings for JobScheduler Tests -->
     <string name="js_test_description">This test is mostly automated, but requires some user interaction. You can pass this test once the list items below are checked.</string>
@@ -1661,93 +1785,90 @@
     <string name="js_any_connectivity_test">Device with no connectivity will not execute a job with an unmetered connectivity constraint.</string>
     <string name="js_no_connectivity_test">Device with no connectivity will still execute a job with no connectivity constraints.</string>
 
-    <!-- String for Live Channels app Tests -->
+    <!-- String for the bundled TV app Tests -->
 
-    <string name="tv_input_discover_test">3rd-party TV input app discoverability test</string>
+    <string name="tv_input_discover_test">3rd-party TV input test</string>
     <string name="tv_input_discover_test_info">
-    This test verifies that the pre-loaded Live Channels app is invoked via intents and issues
-    appropriate calls to framework APIs, so that TV input apps work properly with the pre-loaded
-    Live Channels app.
+    Verify that the bundled TV app launches via Intent and calls the proper API to discover
+    3rd-party TV inputs.
     </string>
     <string name="tv_input_discover_test_go_to_setup">
-    Press the \"Launch Live Channels\" button, and set up the newly installed TV input:
+    Select the \"Launch TV app\" button and set up the newly installed TV input:
     \"CTS Verifier\".
     </string>
     <string name="tv_input_discover_test_verify_setup">
     Setup activity must have been started.
     </string>
     <string name="tv_input_discover_test_tune_to_channel">
-    Press the \"Launch Live Channels\" button, and tune to the channel named \"Dummy\" from
-    \"CTS Verifier\" input. If necessary, configure the channel to be visible.
+    Select the \"Launch TV app\" button and tune to the \"Dummy\" channel from \"CTS Verifier\"
+    input. If necessary, configure the channel to be visible.
     </string>
     <string name="tv_input_discover_test_verify_tune">
     Tune command must be called.
     </string>
     <string name="tv_input_discover_test_verify_overlay_view">
-    Overlay view must be shown. Verify that there is a text view displaying \"Overlay View Dummy Text\"
-    when you tune to the \"Dummy\" channel.
+    Verify that the overlay appears and displays the text \"Overlay View Dummy Text\" when you tune
+    to the \"Dummy\" channel.
     </string>
     <string name="tv_input_discover_test_verify_global_search">
-    Live Channels app should provide query results for 3rd-party input\'s channels and programs on
-    global search requests.
+    Verify the TV app provides query results for 3rd-party input\'s channels and programs in
+    global search results.
     </string>
     <string name="tv_input_discover_test_go_to_epg">
-    Press the \"Launch EPG\" button, and locate the channel named \"Dummy\".
+    Select the \"Launch EPG\" button and locate the \"Dummy\" channel.
     </string>
     <string name="tv_input_discover_test_verify_epg">
-    Do you see the programs named \"Dummy Program\" and its description
+    Do you see the programs named \"Dummy Program\" and their descriptions
     "Dummy Program Description" in the EPG?
     </string>
     <string name="tv_input_discover_test_yes">Yes</string>
 
-    <string name="tv_parental_control_test">Live Channels app parental control test</string>
+    <string name="tv_parental_control_test">TV app parental controls test</string>
     <string name="tv_parental_control_test_info">
-    This test verifies that the default Live Channels app invokes proper parental control APIs in
-    the framework.
+    Verify that the bundled TV app calls the parental controls API.
     </string>
     <string name="tv_parental_control_test_turn_on_parental_control">
-    Press the \"Launch Live Channels\" button, and turn on the parental control. If it\'s on
-    already, turn it off and on again.
+    Select the \"Launch TV app\" button and turn on the parental controls. If parental controls are
+    on already, turn it off and on again.
     </string>
     <string name="tv_parental_control_test_verify_receive_broadcast1">
     TV input service must have received ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED broadcast.
     </string>
     <string name="tv_parental_control_test_block_tv_ma">
-    Press the \"Launch Live Channels\" button, and block \"Fake\" rating for \"CtsVerifier\" rating
-    system in the parental control settings. You may have to enable the rating system if it is
-    disabled by default. If it\'s already blocked, unblock, save, and then block again.
+    Select the \"Launch TV app\" button and block the \"Fake\" rating for \"CtsVerifier\" rating
+    system in the parental control settings. If the rating system is disabled by default, enable it.
+    If the \"Fake\" rating is already blocked, unblock it, save, and then block again.
     </string>
     <string name="tv_parental_control_test_verify_receive_broadcast2">
     TV input service must have received ACTION_BLOCKED_RATINGS_CHANGED broadcast.
     </string>
     <string name="tv_parental_control_test_block_unblock">
-    Press the \"Launch Live Channels\" button; verify that the channel is blocked visually.
-    Try unblock the screen by entering PIN; verify that it\'s unblocked visually.
+    Select the \"Launch TV app\" button; verify that the channel is blocked.
+    Try to unblock the screen by entering PIN; verify that it\'s unblocked.
     </string>
 
-    <string name="tv_launch_tv_app">Launch Live Channels</string>
+    <string name="tv_launch_tv_app">Launch TV app</string>
     <string name="tv_launch_epg">Launch EPG</string>
     <string name="tv_channel_not_found">
     CtsVerifier channel is not set up. Please set up before proceeding.
     </string>
 
-    <string name="tv_multiple_tracks_test">Live Channels app closed captions and multi-audio test</string>
+    <string name="tv_multiple_tracks_test">TV app closed captions and multi-audio test</string>
     <string name="tv_multiple_tracks_test_info">
-    This test verifies that the default Live Channels app invokes proper mulitple tracks APIs in the
-    framework.
+    Verify that the bundled TV app calls the multi-track API.
     </string>
     <string name="tv_multiple_tracks_test_select_subtitle">
-    Press the \"Launch Live Channels\" button. Verify that the closed caption is off by default.
-    Set closed caption to English.
+    Select the \"Launch TV app\" button. Verify that closed captions are off by default. Set closed
+    caption language to English.
     </string>
     <string name="tv_multiple_tracks_test_verify_set_caption_enabled">
-    Caption should be enabled.
+    Captions are enabled.
     </string>
     <string name="tv_multiple_tracks_test_verify_select_subtitle">
-    The English subtitle track should be selected.
+    The English closed caption track should be selected.
     </string>
     <string name="tv_multiple_tracks_test_select_audio">
-    Press the \"Launch Live Channels\" button. Verify that the audio track is English by default.
+    Select the \"Launch TV app\" button. Verify that the audio track is English by default.
     Select Spanish audio track.
     </string>
     <string name="tv_multiple_tracks_test_verify_select_audio">
@@ -1837,4 +1958,61 @@
     <string name="audio_routingnotification_recHeader">AudioRecord Routing Notifications</string>
     <string name="audio_routingnotification_trackRoutingMsg">AudioTrack rerouting</string>
     <string name="audio_routingnotification_recordRoutingMsg">AudioRecord rerouting</string>
+
+    <!-- Audio Loopback Latency Test -->
+    <string name="audio_loopback_test">Audio Loopback Latency Test</string>
+     <string name="audio_loopback_info">
+          This test requires the Loopback Plug. Please connect a Loopback Plug on the headset
+          connector, and proceed with the instructions on the screen.
+          The system will measure the input-output audio latency by injecting a pulse on the output,
+          and computing the distance between replicas of the pulse.
+          You can vary the Audio Level slider to ensure the pulse will feed back at adecuate levels.
+          Repeat until a confidence level >= 0.6 is achieved.
+    </string>
+    <string name="audio_loopback_instructions">
+          Please connect a "Loopback Plug" and press "Loopback Plug Ready".
+    </string>
+    <string name="audio_loopback_plug_ready_btn">Loopback Plug Ready</string>
+    <string name="audio_loopback_instructions2">
+          Set the audio level to a suitable value, then press Test button.
+          It might require multiple tries until a confidence >= 0.6 is achieved.
+    </string>
+    <string name="audio_loopback_level_text">Audio Level</string>
+    <string name="audio_loopback_test_btn">Test</string>
+    <string name="audio_loopback_results_text">Results...</string>
+
+   <!-- Audio Frequency Line Test -->
+    <string name="audio_frequency_line_test">Audio Frequency Line Test</string>
+    <string name="audio_frequency_line_info">
+        The system will measure the frequency response of the left and right line outputs, 
+        by feeding them back thru the microphone conection with the loopback jack.
+        This test requires the Loopback Plug. Please connect a Loopback Plug on the headset
+        connector, and proceed with the instructions on the screen.
+        </string>
+    <string name="audio_frequency_line_instructions">
+          Please connect a "Loopback Plug" and press "Loopback Plug Ready".
+    </string>
+    <string name="audio_frequency_line_plug_ready_btn">Loopback Plug Ready</string>
+
+    <string name="audio_frequency_line_test_btn">Test</string>
+    <string name="audio_frequency_line_results_text">Results...</string>
+    
+    <!-- Audio Frequency Speaker Test -->
+    <string name="audio_frequency_speaker_test">Audio Frequency Speaker Test</string>
+    <string name="audio_frequency_speaker_info">
+        This test requires an external USB reference microphone. Please connect the USB microphone and proceed with the instructions on the screen.
+        The system will measure frequency response of the left and right speakers (if there are two speakers), or twice the response of the mono speaker.
+       </string>
+    <string name="audio_frequency_speaker_instructions">
+          Please connect an USB reference microphone and press "USB Reference microphone ready".
+    </string>
+    <string name="audio_frequency_speaker_usb_status">Waiting for USB microphone...</string>
+    <string name="audio_frequency_speaker_mic_ready_btn">USB Reference microphone ready</string>
+    <string name="audio_frequency_speaker_mic_ready_text">USB Audio device detected\n\nPlease set up Device Under test 
+    in quiet room, and Microphone 20 cms perpendicular to center of screen, then press TEST</string>
+    <string name="audio_frequency_speaker_mic_not_ready_text">"No USB Audio device detected. Please reconnect."</string>
+    <string name="audio_frequency_speaker_test_btn">Test</string>
+    <string name="audio_frequency_speaker_results_text">Results...</string>
+    
+
 </resources>
diff --git a/apps/CtsVerifier/res/xml/device_admin_byod.xml b/apps/CtsVerifier/res/xml/device_admin_byod.xml
index 61238aa..ce44794 100644
--- a/apps/CtsVerifier/res/xml/device_admin_byod.xml
+++ b/apps/CtsVerifier/res/xml/device_admin_byod.xml
@@ -20,6 +20,8 @@
         <encrypted-storage />
         <wipe-data />
         <reset-password />
+        <disable-keyguard-features />
+        <force-lock />
     </uses-policies>
 </device-admin>
 <!-- END_INCLUDE(meta_data) -->
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/AbstractTestListActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/AbstractTestListActivity.java
index 409b0db..3132219 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/AbstractTestListActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/AbstractTestListActivity.java
@@ -44,8 +44,13 @@
     }
 
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+    protected final void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
+        handleActivityResult(requestCode, resultCode, data);
+    }
+
+    /** Override this in subclasses instead of onActivityResult */
+    protected void handleActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {
             case LAUNCH_TEST_REQUEST_CODE:
                 handleLaunchTestResult(resultCode, data);
@@ -66,7 +71,7 @@
         setContentView(R.layout.list_content);
     }
 
-    private void handleLaunchTestResult(int resultCode, Intent data) {
+    protected void handleLaunchTestResult(int resultCode, Intent data) {
         if (resultCode == RESULT_OK) {
             TestResult testResult = TestResult.fromActivityResult(resultCode, data);
             mAdapter.setTestResult(testResult);
@@ -75,8 +80,13 @@
 
     /** Launch the activity when its {@link ListView} item is clicked. */
     @Override
-    protected void onListItemClick(ListView listView, View view, int position, long id) {
+    protected final void onListItemClick(ListView listView, View view, int position, long id) {
         super.onListItemClick(listView, view, position, id);
+        handleItemClick(listView, view, position, id);
+    }
+
+    /** Override this in subclasses instead of onListItemClick */
+    protected void handleItemClick(ListView listView, View view, int position, long id) {
         Intent intent = getIntent(position);
         startActivityForResult(intent, LAUNCH_TEST_REQUEST_CODE);
     }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/DialogTestListActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/DialogTestListActivity.java
new file mode 100644
index 0000000..cbd4887
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/DialogTestListActivity.java
@@ -0,0 +1,248 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier;
+
+import android.app.AlertDialog;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.database.DataSetObserver;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.ListView;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.android.cts.verifier.R;
+
+/**
+ * Test list activity that supports showing dialogs with pass/fail buttons instead of
+ * starting new activities.
+ * In addition to that dialogs have a 'go' button that can be configured to launch an intent.
+ * Instructions are shown on top of the screen and a test preparation button is provided.
+ */
+public abstract class DialogTestListActivity extends PassFailButtons.TestListActivity {
+    private final int mLayoutId;
+    private final int mTitleStringId;
+    private final int mInfoStringId;
+    private final int mInstructionsStringId;
+
+    protected Button mPrepareTestButton;
+
+    protected int mCurrentTestPosition;
+
+    protected DialogTestListActivity(int layoutId, int titleStringId, int infoStringId,
+            int instructionsStringId) {
+        mLayoutId = layoutId;
+        mTitleStringId = titleStringId;
+        mInfoStringId = infoStringId;
+        mInstructionsStringId = instructionsStringId;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        setContentView(mLayoutId);
+        setInfoResources(mTitleStringId, mInfoStringId, -1);
+        setPassFailButtonClickListeners();
+        getPassButton().setEnabled(false);
+        setResult(RESULT_CANCELED);
+
+        ArrayTestListAdapter adapter = new ArrayTestListAdapter(this);
+
+        setupTests(adapter);
+
+        adapter.registerDataSetObserver(new DataSetObserver() {
+            @Override
+            public void onChanged() {
+                updatePassButton();
+            }
+        });
+
+        setTestListAdapter(adapter);
+
+        mCurrentTestPosition = 0;
+
+        TextView instructionTextView = (TextView)findViewById(R.id.test_instructions);
+        instructionTextView.setText(mInstructionsStringId);
+        mPrepareTestButton = (Button)findViewById(R.id.prepare_test_button);
+    }
+
+    /**
+     * Subclasses must add their tests items to the provided adapter(usually instances of
+     * {@link DialogTestListItem} or {@link DialogTestListItemWithIcon} but any class deriving from
+     * {@link TestListAdapter.TestListItem} will do).
+     * @param adapter The adapter to add test items to.
+     */
+    protected abstract void setupTests(ArrayTestListAdapter adapter);
+
+    // Enable Pass Button when all tests passed.
+    private void updatePassButton() {
+        getPassButton().setEnabled(mAdapter.allTestsPassed());
+    }
+
+    private void showManualTestDialog(final DialogTestListItem test) {
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this)
+                .setIcon(android.R.drawable.ic_dialog_info)
+                .setTitle(mTitleStringId)
+                .setNeutralButton(R.string.go_button_text, null)
+                .setPositiveButton(R.string.pass_button_text, new AlertDialog.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        clearRemainingState(test);
+                        setTestResult(test, TestResult.TEST_RESULT_PASSED);
+                    }
+                })
+                .setNegativeButton(R.string.fail_button_text, new AlertDialog.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        clearRemainingState(test);
+                        setTestResult(test, TestResult.TEST_RESULT_FAILED);
+                    }
+                });
+        View customView = test.getCustomView();
+        if (customView != null) {
+            dialogBuilder.setView(customView);
+        } else {
+            dialogBuilder.setMessage(test.getManualTestInstruction());
+        }
+        final AlertDialog dialog = dialogBuilder.show();
+        // Note: Setting the OnClickListener on the Dialog rather than the Builder, prevents the
+        // dialog being dismissed on onClick.
+        dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (!startTestIntent(test)) {
+                    dialog.dismiss();
+                }
+            }
+        });
+    }
+
+    @Override
+    protected void handleItemClick(ListView l, View v, int position, long id) {
+        TestListAdapter.TestListItem test = (TestListAdapter.TestListItem) getListAdapter()
+                .getItem(position);
+        if (test instanceof DialogTestListItem) {
+            mCurrentTestPosition = position;
+            ((DialogTestListItem)test).performTest(this);
+        } else {
+            super.handleItemClick(l, v, position, id);
+        }
+    }
+
+
+    /**
+     * Start a test's manual intent
+     * @param test The test the manual intent of which is to be started.
+     * @return true if activity could be started successfully, false otherwise.
+     */
+    boolean startTestIntent(final DialogTestListItem test) {
+        final Intent intent = test.intent;
+        try {
+            startActivity(intent);
+        } catch (ActivityNotFoundException e) {
+            Toast.makeText(this, "Cannot start " + intent, Toast.LENGTH_LONG).show();
+            setTestResult(test, TestResult.TEST_RESULT_FAILED);
+            return false;
+        }
+        return true;
+    }
+
+    protected void clearRemainingState(final DialogTestListItem test) {
+        // do nothing, override in subclass if needed
+    }
+
+    protected void setTestResult(DialogTestListItem test, int result) {
+        // Bundle result in an intent to feed into handleLaunchTestResult
+        Intent resultIntent = new Intent();
+        TestResult.addResultData(resultIntent, result, test.testName, /* testDetails */ null,
+                /* reportLog */ null);
+        handleLaunchTestResult(RESULT_OK, resultIntent);
+        getListView().smoothScrollToPosition(mCurrentTestPosition + 1);
+    }
+
+    protected void showToast(int messageId) {
+        String message = getString(messageId);
+        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
+    }
+
+    protected static class DialogTestListItem extends TestListAdapter.TestListItem {
+
+        private String mManualInstruction;
+
+        public DialogTestListItem(Context context, int nameResId, String testId) {
+            super(context.getString(nameResId), testId, null, null, null, null);
+        }
+
+        public DialogTestListItem(Context context, int nameResId, String testId,
+                int testInstructionResId, Intent testIntent) {
+            super(context.getString(nameResId), testId, testIntent, null, null, null);
+            mManualInstruction = context.getString(testInstructionResId);
+        }
+
+        public void performTest(DialogTestListActivity activity) {
+            activity.showManualTestDialog(this);
+        }
+
+        public String getManualTestInstruction() {
+            return mManualInstruction;
+        }
+
+        public Intent getManualTestIntent() {
+            return intent;
+        }
+
+        public View getCustomView() {
+            return null;
+        }
+
+        @Override
+        boolean isTest() {
+            return true;
+        }
+    }
+
+    protected static class DialogTestListItemWithIcon extends DialogTestListItem {
+
+        private final int mImageResId;
+        private final Context mContext;
+
+        public DialogTestListItemWithIcon(Context context, int nameResId, String testId,
+                int testInstructionResId, Intent testIntent, int imageResId) {
+            super(context, nameResId, testId, testInstructionResId, testIntent);
+            mContext = context;
+            mImageResId = imageResId;
+        }
+
+        @Override
+        public View getCustomView() {
+            LayoutInflater layoutInflater = LayoutInflater.from(mContext);
+            View view = layoutInflater.inflate(R.layout.dialog_custom_view,
+                    null /* root */);
+            ((ImageView) view.findViewById(R.id.sample_icon)).setImageResource(mImageResId);
+            ((TextView) view.findViewById(R.id.message)).setText(getManualTestInstruction());
+            return view;
+        }
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/TestListAdapter.java b/apps/CtsVerifier/src/com/android/cts/verifier/TestListAdapter.java
index 2160902..ce092cc 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/TestListAdapter.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/TestListAdapter.java
@@ -141,7 +141,7 @@
             return new TestListItem(title, null, null, null, null, null);
         }
 
-        private TestListItem(String title, String testName, Intent intent,
+        protected TestListItem(String title, String testName, Intent intent,
                 String[] requiredFeatures, String[] excludedFeatures, String[] applicableFeatures) {
             this.title = title;
             this.testName = testName;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/TestResult.java b/apps/CtsVerifier/src/com/android/cts/verifier/TestResult.java
index d8a675c..c5d2d52 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/TestResult.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/TestResult.java
@@ -71,13 +71,18 @@
     private static Intent createResult(Activity activity, int testResult, String testName,
             String testDetails, ReportLog reportLog) {
         Intent data = new Intent(activity, activity.getClass());
-        data.putExtra(TEST_NAME, testName);
-        data.putExtra(TEST_RESULT, testResult);
-        data.putExtra(TEST_DETAILS, testDetails);
-        data.putExtra(TEST_METRICS, reportLog);
+        addResultData(data, testResult, testName, testDetails, reportLog);
         return data;
     }
 
+    public static void addResultData(Intent intent, int testResult, String testName,
+            String testDetails, ReportLog reportLog) {
+        intent.putExtra(TEST_NAME, testName);
+        intent.putExtra(TEST_RESULT, testResult);
+        intent.putExtra(TEST_DETAILS, testDetails);
+        intent.putExtra(TEST_METRICS, reportLog);
+    }
+
     /**
      * Convert the test activity's result into a {@link TestResult}. Only meant to be used by
      * {@link TestListActivity}.
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioBandSpecs.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioBandSpecs.java
new file mode 100644
index 0000000..9af4af1
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioBandSpecs.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+public class AudioBandSpecs {
+    double mFreqStart;
+    double mFreqStop;
+    double mRippleStartTop;
+    double mRippleStartBottom;
+
+    double mRippleStopTop;
+    double mRippleStopBottom;
+
+    double mOffset;
+
+    public AudioBandSpecs(double fStart, double fStop, double startTop, double startBottom,
+            double stopTop, double stopBottom) {
+        initFreq(fStart, fStop);
+        initRipple(startTop, startBottom, stopTop, stopBottom);
+        setOffset(0);
+    }
+
+    public void initRipple(double startTop, double startBottom, double stopTop, double stopBottom) {
+        mRippleStartTop = startTop;
+        mRippleStartBottom = startBottom;
+        mRippleStopTop = stopTop;
+        mRippleStopBottom = stopBottom;
+        // note: top should be >= bottom, but no check is done here.
+    }
+
+    public void initFreq(double fStart, double fStop) {
+        mFreqStart = fStart;
+        mFreqStop = fStop;
+    }
+
+    public void setOffset(double offset) {
+        mOffset = offset;
+    }
+
+    /**
+     * Check if the given point is in bounds in this band.
+     */
+    public boolean isInBounds(double freq, double value) {
+        if (freq < mFreqStart || freq > mFreqStop) {
+            return false;
+        }
+
+        double d = mFreqStop - mFreqStart;
+        if (d <= 0) {
+            return false;
+        }
+
+        double e = freq - mFreqStart;
+        double vTop = (e / d) * (mRippleStopTop - mRippleStartTop) + mRippleStartTop + mOffset;
+        if (value > vTop) {
+            return false;
+        }
+
+        double vBottom = (e / d) * (mRippleStopBottom - mRippleStartBottom) + mRippleStartBottom
+                + mOffset;
+
+        if (value < vBottom) {
+            return false;
+        }
+        return true;
+    }
+
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(String.format("Freq %.1f - %.1f |", mFreqStart, mFreqStop));
+        sb.append(String.format("start [%.1f : %.1f] |", mRippleStartTop, mRippleStartBottom));
+        sb.append(String.format("stop  [%.1f : %.1f] |", mRippleStopTop, mRippleStopBottom));
+        sb.append(String.format("offset %.1f", mOffset));
+        return sb.toString();
+    }
+}
\ No newline at end of file
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java
new file mode 100644
index 0000000..d3e2571
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencyLineActivity.java
@@ -0,0 +1,664 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+import com.android.cts.verifier.audio.wavelib.*;
+import com.android.compatibility.common.util.ReportLog;
+import com.android.compatibility.common.util.ResultType;
+import com.android.compatibility.common.util.ResultUnit;
+import android.content.Context;
+
+import android.media.AudioDeviceCallback;
+import android.media.AudioDeviceInfo;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+import android.media.AudioRecord;
+import android.media.MediaRecorder;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemClock;
+
+import android.util.Log;
+
+import android.view.View;
+import android.view.View.OnClickListener;
+
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.SeekBar;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+
+/**
+ * Tests Audio Device roundtrip latency by using a loopback plug.
+ */
+public class AudioFrequencyLineActivity extends PassFailButtons.Activity implements Runnable,
+    AudioRecord.OnRecordPositionUpdateListener {
+    private static final String TAG = "AudioFrequencyLineActivity";
+
+    static final int TEST_STARTED = 900;
+    static final int TEST_ENDED = 901;
+    static final int TEST_MESSAGE = 902;
+    static final double MIN_ENERGY_BAND_1 = -20.0;
+    static final double MIN_FRACTION_POINTS_IN_BAND = 0.3;
+
+    OnBtnClickListener mBtnClickListener = new OnBtnClickListener();
+    Context mContext;
+
+    Button mLoopbackPlugReady;
+    LinearLayout mLinearLayout;
+    Button mTestButton;
+    TextView mResultText;
+    ProgressBar mProgressBar;
+    //recording
+    private boolean mIsRecording = false;
+    private final Object mRecordingLock = new Object();
+    private AudioRecord mRecorder;
+    private int mMinRecordBufferSizeInSamples = 0;
+    private short[] mAudioShortArray;
+    private short[] mAudioShortArray2;
+
+    private final int mBlockSizeSamples = 1024;
+    private final int mSamplingRate = 48000;
+    private final int mSelectedRecordSource = MediaRecorder.AudioSource.VOICE_RECOGNITION;
+    private final int mChannelConfig = AudioFormat.CHANNEL_IN_MONO;
+    private final int mAudioFormat = AudioFormat.ENCODING_PCM_16BIT;
+    private volatile Thread mRecordThread;
+    private boolean mRecordThreadShutdown = false;
+
+    PipeShort mPipe = new PipeShort(65536);
+    SoundPlayerObject mSPlayer;
+
+    private DspBufferComplex mC;
+    private DspBufferDouble mData;
+
+    private DspWindow mWindow;
+    private DspFftServer mFftServer;
+    private VectorAverage mFreqAverageMain = new VectorAverage();
+
+    private VectorAverage mFreqAverage0 = new VectorAverage();
+    private VectorAverage mFreqAverage1 = new VectorAverage();
+
+    private int mCurrentTest = -1;
+    int mBands = 4;
+    AudioBandSpecs[] bandSpecsArray = new AudioBandSpecs[mBands];
+
+    int mMaxLevel;
+    private class OnBtnClickListener implements OnClickListener {
+        @Override
+        public void onClick(View v) {
+            switch (v.getId()) {
+                case R.id.audio_frequency_line_plug_ready_btn:
+                    Log.i(TAG, "audio loopback plug ready");
+                    //enable all the other views.
+                    enableLayout(true);
+                    break;
+                case R.id.audio_frequency_line_test_btn:
+                    Log.i(TAG, "audio loopback test");
+                    startAudioTest();
+                    break;
+            }
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.audio_frequency_line_activity);
+
+        mContext = this;
+
+        mLoopbackPlugReady = (Button)findViewById(R.id.audio_frequency_line_plug_ready_btn);
+        mLoopbackPlugReady.setOnClickListener(mBtnClickListener);
+        mLinearLayout = (LinearLayout)findViewById(R.id.audio_frequency_line_layout);
+        mTestButton = (Button)findViewById(R.id.audio_frequency_line_test_btn);
+        mTestButton.setOnClickListener(mBtnClickListener);
+        mResultText = (TextView)findViewById(R.id.audio_frequency_line_results_text);
+        mProgressBar = (ProgressBar)findViewById(R.id.audio_frequency_line_progress_bar);
+        showWait(false);
+        enableLayout(false);         //disabled all content
+
+        mSPlayer = new SoundPlayerObject();
+        mSPlayer.setSoundWithResId(getApplicationContext(), R.raw.stereo_mono_white_noise_48);
+        mSPlayer.setBalance(0.5f);
+
+        //Init FFT stuff
+        mAudioShortArray2 = new short[mBlockSizeSamples*2];
+        mData = new DspBufferDouble(mBlockSizeSamples);
+        mC = new DspBufferComplex(mBlockSizeSamples);
+        mFftServer = new DspFftServer(mBlockSizeSamples);
+
+        int overlap = mBlockSizeSamples / 2;
+
+        mWindow = new DspWindow(DspWindow.WINDOW_HANNING, mBlockSizeSamples, overlap);
+
+        setPassFailButtonClickListeners();
+        getPassButton().setEnabled(false);
+        setInfoResources(R.string.audio_frequency_line_test,
+                R.string.audio_frequency_line_info, -1);
+
+        //Init bands
+        bandSpecsArray[0] = new AudioBandSpecs(
+                50, 500,        /* frequency start,stop */
+                -20.0, -50,     /* start top,bottom value */
+                4.0, -4.0       /* stop top,bottom value */);
+
+        bandSpecsArray[1] = new AudioBandSpecs(
+                500,4000,       /* frequency start,stop */
+                4.0, -4.0,      /* start top,bottom value */
+                4.0, -4.0        /* stop top,bottom value */);
+
+        bandSpecsArray[2] = new AudioBandSpecs(
+                4000, 12000,    /* frequency start,stop */
+                4.0, -4.0,      /* start top,bottom value */
+                5.0, -5.0       /* stop top,bottom value */);
+
+        bandSpecsArray[3] = new AudioBandSpecs(
+                12000, 20000,   /* frequency start,stop */
+                5.0, -5.0,      /* start top,bottom value */
+                5.0, -30.0      /* stop top,bottom value */);
+    }
+
+    /**
+     * enable test ui elements
+     */
+    private void enableLayout(boolean enable) {
+        for (int i = 0; i < mLinearLayout.getChildCount(); i++) {
+            View view = mLinearLayout.getChildAt(i);
+            view.setEnabled(enable);
+        }
+    }
+
+    /**
+     * show active progress bar
+     */
+    private void showWait(boolean show) {
+        if (show) {
+            mProgressBar.setVisibility(View.VISIBLE);
+        } else {
+            mProgressBar.setVisibility(View.INVISIBLE);
+        }
+    }
+
+    private void setMaxLevel() {
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        mMaxLevel = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+        am.setStreamVolume(AudioManager.STREAM_MUSIC, (int)(mMaxLevel), 0);
+    }
+
+    /**
+     *  Start the loopback audio test
+     */
+    private void startAudioTest() {
+        if (mTestThread != null && !mTestThread.isAlive()) {
+            mTestThread = null; //kill it.
+        }
+
+        if (mTestThread == null) {
+            Log.v(TAG,"Executing test Thread");
+            mTestThread = new Thread(mPlayRunnable);
+            getPassButton().setEnabled(false);
+            if (!mSPlayer.isAlive())
+                mSPlayer.start();
+            mTestThread.start();
+        } else {
+            Log.v(TAG,"test Thread already running.");
+        }
+    }
+
+    Thread mTestThread;
+    Runnable mPlayRunnable = new Runnable() {
+        public void run() {
+            Message msg = Message.obtain();
+            msg.what = TEST_STARTED;
+            mMessageHandler.sendMessage(msg);
+            setMaxLevel();
+
+            sendMessage("Testing Left Capture");
+            mCurrentTest = 0;
+            mFreqAverage0.reset();
+            mSPlayer.setBalance(0.0f);
+            play();
+
+            sendMessage("Testing Right Capture");
+            mCurrentTest = 1;
+            mFreqAverage1.reset();
+            mSPlayer.setBalance(1.0f);
+            play();
+
+            mCurrentTest = -1;
+            sendMessage("Testing Completed");
+
+            Message msg2 = Message.obtain();
+            msg2.what = TEST_ENDED;
+            mMessageHandler.sendMessage(msg2);
+        }
+
+        private void play() {
+            startRecording();
+            mSPlayer.play(true);
+
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            mSPlayer.play(false);
+            stopRecording();
+        }
+
+        private void sendMessage(String str) {
+            Message msg = Message.obtain();
+            msg.what = TEST_MESSAGE;
+            msg.obj = str;
+            mMessageHandler.sendMessage(msg);
+        }
+    };
+
+    private Handler mMessageHandler = new Handler() {
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            switch (msg.what) {
+            case TEST_STARTED:
+                showWait(true);
+                getPassButton().setEnabled(false);
+                break;
+            case TEST_ENDED:
+                showWait(false);
+                computeResults();
+                break;
+            case TEST_MESSAGE:
+                String str = (String)msg.obj;
+                if (str != null) {
+                    mResultText.setText(str);
+                }
+                break;
+            default:
+                Log.e(TAG, String.format("Unknown message: %d", msg.what));
+            }
+        }
+    };
+
+    private class Results {
+        private String mLabel;
+        public double[] mValuesLog;
+        int[] mPointsPerBand = new int[mBands];
+        double[] mAverageEnergyPerBand = new double[mBands];
+        int[] mInBoundPointsPerBand = new int[mBands];
+        public Results(String label) {
+            mLabel = label;
+        }
+
+        //append results
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            sb.append(String.format("Channel %s\n", mLabel));
+            sb.append("Level in Band 1 : " + (testLevel() ? "OK" :"FAILED") +"\n");
+            for (int b = 0; b < mBands; b++) {
+                double percent = 0;
+                if (mPointsPerBand[b] > 0) {
+                    percent = 100.0 * (double)mInBoundPointsPerBand[b] / mPointsPerBand[b];
+                }
+                sb.append(String.format(
+                        " Band %d: Av. Level: %.1f dB InBand: %d/%d (%.1f%%) %s\n",
+                        b, mAverageEnergyPerBand[b],
+                        mInBoundPointsPerBand[b],
+                        mPointsPerBand[b],
+                        percent,
+                        (testInBand(b) ? "OK" : "FAILED")));
+            }
+            return sb.toString();
+        }
+
+        public boolean testLevel() {
+            if (mAverageEnergyPerBand[1] >= MIN_ENERGY_BAND_1) {
+                return true;
+            }
+            return false;
+        }
+
+        public boolean testInBand(int b) {
+            if (b >= 0 && b < mBands && mPointsPerBand[b] > 0) {
+                if ((double)mInBoundPointsPerBand[b] / mPointsPerBand[b] >
+                MIN_FRACTION_POINTS_IN_BAND)
+                    return true;
+            }
+            return false;
+        }
+
+        public boolean testAll() {
+            if (!testLevel()) {
+                return false;
+            }
+            for (int b = 0; b < mBands; b++) {
+                if (!testInBand(b)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * compute test results
+     */
+    private void computeResults() {
+        Results resultsLeft = new Results("Left");
+        computeResultsForVector(mFreqAverage0, resultsLeft);
+        Results resultsRight = new Results("Right");
+        computeResultsForVector(mFreqAverage1, resultsRight);
+        if (resultsLeft.testAll() && resultsRight.testAll()) {
+            //enable button
+            getPassButton().setEnabled(true);
+        }
+    }
+
+    private void computeResultsForVector(VectorAverage freqAverage,Results results) {
+
+        int points = freqAverage.getSize();
+        if (points > 0) {
+            //compute vector in db
+            double[] values = new double[points];
+            freqAverage.getData(values, false);
+            results.mValuesLog = new double[points];
+            for (int i = 0; i < points; i++) {
+                results.mValuesLog[i] = 20 * Math.log10(values[i]);
+            }
+
+            int currentBand = 0;
+            for (int i = 0; i < points; i++) {
+                double freq = (double)mSamplingRate * i / (double)mBlockSizeSamples;
+                if (freq > bandSpecsArray[currentBand].mFreqStop) {
+                    currentBand++;
+                    if (currentBand >= mBands)
+                        break;
+                }
+
+                if (freq >= bandSpecsArray[currentBand].mFreqStart) {
+                    results.mAverageEnergyPerBand[currentBand] += results.mValuesLog[i];
+                    results.mPointsPerBand[currentBand]++;
+                }
+            }
+
+            for (int b = 0; b < mBands; b++) {
+                if (results.mPointsPerBand[b] > 0) {
+                    results.mAverageEnergyPerBand[b] =
+                            results.mAverageEnergyPerBand[b] / results.mPointsPerBand[b];
+                }
+            }
+
+            //set offset relative to band 1 level
+            for (int b = 0; b < mBands; b++) {
+                bandSpecsArray[b].setOffset(results.mAverageEnergyPerBand[1]);
+            }
+
+            //test points in band.
+            currentBand = 0;
+            for (int i = 0; i < points; i++) {
+                double freq = (double)mSamplingRate * i / (double)mBlockSizeSamples;
+                if (freq >  bandSpecsArray[currentBand].mFreqStop) {
+                    currentBand++;
+                    if (currentBand >= mBands)
+                        break;
+                }
+
+                if (freq >= bandSpecsArray[currentBand].mFreqStart) {
+                    double value = results.mValuesLog[i];
+                    if (bandSpecsArray[currentBand].isInBounds(freq, value)) {
+                        results.mInBoundPointsPerBand[currentBand]++;
+                    }
+                }
+            }
+
+            appendResultsToScreen(results.toString());
+            //store results
+            recordTestResults(results);
+        } else {
+            appendResultsToScreen("Failed testing channel " + results.mLabel);
+        }
+    }
+
+    //append results
+    private void appendResultsToScreen(String str) {
+        String currentText = mResultText.getText().toString();
+        mResultText.setText(currentText + "\n" + str);
+    }
+
+    /**
+     * Store test results in log
+     */
+    private void recordTestResults(Results results) {
+        String channelLabel = "channel_" + results.mLabel;
+
+        for (int b = 0; b < mBands; b++) {
+            String bandLabel = String.format(channelLabel + "_%d", b);
+            getReportLog().addValue(
+                    bandLabel + "_Level",
+                    results.mAverageEnergyPerBand[b],
+                    ResultType.HIGHER_BETTER,
+                    ResultUnit.NONE);
+
+            getReportLog().addValue(
+                    bandLabel + "_pointsinbound",
+                    results.mInBoundPointsPerBand[b],
+                    ResultType.HIGHER_BETTER,
+                    ResultUnit.COUNT);
+
+            getReportLog().addValue(
+                    bandLabel + "_pointstotal",
+                    results.mPointsPerBand[b],
+                    ResultType.NEUTRAL,
+                    ResultUnit.COUNT);
+        }
+
+        getReportLog().addValues(channelLabel + "_magnitudeSpectrumLog",
+                results.mValuesLog,
+                ResultType.NEUTRAL,
+                ResultUnit.NONE);
+
+        Log.v(TAG, "Results Recorded");
+    }
+
+    private void startRecording() {
+        synchronized (mRecordingLock) {
+            mIsRecording = true;
+        }
+
+        boolean successful = initRecord();
+        if (successful) {
+            startRecordingForReal();
+        } else {
+            Log.v(TAG, "Recorder initialization error.");
+            synchronized (mRecordingLock) {
+                mIsRecording = false;
+            }
+        }
+    }
+
+    private void startRecordingForReal() {
+        // start streaming
+        if (mRecordThread == null) {
+            mRecordThread = new Thread(AudioFrequencyLineActivity.this);
+            mRecordThread.setName("FrequencyAnalyzerThread");
+            mRecordThreadShutdown = false;
+        }
+        if (!mRecordThread.isAlive()) {
+            mRecordThread.start();
+        }
+
+        mPipe.flush();
+
+        long startTime = SystemClock.uptimeMillis();
+        mRecorder.startRecording();
+        if (mRecorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) {
+            stopRecording();
+            return;
+        }
+        Log.v(TAG, "Start time: " + (long) (SystemClock.uptimeMillis() - startTime) + " ms");
+    }
+
+    private void stopRecording() {
+        synchronized (mRecordingLock) {
+            stopRecordingForReal();
+            mIsRecording = false;
+        }
+    }
+
+    private void stopRecordingForReal() {
+
+        // stop streaming
+        Thread zeThread = mRecordThread;
+        mRecordThread = null;
+        mRecordThreadShutdown = true;
+        if (zeThread != null) {
+            zeThread.interrupt();
+            try {
+                zeThread.join();
+            } catch(InterruptedException e) {
+                Log.v(TAG,"Error shutting down recording thread " + e);
+                //we don't really care about this error, just logging it.
+            }
+        }
+         // release recording resources
+        if (mRecorder != null) {
+            mRecorder.stop();
+            mRecorder.release();
+            mRecorder = null;
+        }
+    }
+
+    private boolean initRecord() {
+        int minRecordBuffSizeInBytes = AudioRecord.getMinBufferSize(mSamplingRate,
+                mChannelConfig, mAudioFormat);
+        Log.v(TAG,"FrequencyAnalyzer: min buff size = " + minRecordBuffSizeInBytes + " bytes");
+        if (minRecordBuffSizeInBytes <= 0) {
+            return false;
+        }
+
+        mMinRecordBufferSizeInSamples = minRecordBuffSizeInBytes / 2;
+        // allocate the byte array to read the audio data
+
+        mAudioShortArray = new short[mMinRecordBufferSizeInSamples];
+
+        Log.v(TAG, "Initiating record:");
+        Log.v(TAG, "      using source " + mSelectedRecordSource);
+        Log.v(TAG, "      at " + mSamplingRate + "Hz");
+
+        try {
+            mRecorder = new AudioRecord(mSelectedRecordSource, mSamplingRate,
+                    mChannelConfig, mAudioFormat, 2 * minRecordBuffSizeInBytes);
+        } catch (IllegalArgumentException e) {
+            return false;
+        }
+        if (mRecorder.getState() != AudioRecord.STATE_INITIALIZED) {
+            mRecorder.release();
+            mRecorder = null;
+            return false;
+        }
+        mRecorder.setRecordPositionUpdateListener(this);
+        mRecorder.setPositionNotificationPeriod(mBlockSizeSamples / 2);
+        return true;
+    }
+
+    // ---------------------------------------------------------
+    // Implementation of AudioRecord.OnPeriodicNotificationListener
+    // --------------------
+    public void onPeriodicNotification(AudioRecord recorder) {
+        int samplesAvailable = mPipe.availableToRead();
+        int samplesNeeded = mBlockSizeSamples;
+        if (samplesAvailable >= samplesNeeded) {
+            mPipe.read(mAudioShortArray2, 0, samplesNeeded);
+
+            //compute stuff.
+            double maxval = Math.pow(2, 15);
+            int clipcount = 0;
+            double cliplevel = (maxval-10) / maxval;
+            double sum = 0;
+            double maxabs = 0;
+            int i;
+            int index = 0;
+
+            for (i = 0; i < samplesNeeded; i++) {
+                double value = mAudioShortArray2[i] / maxval;
+                double valueabs = Math.abs(value);
+
+                if (valueabs > maxabs) {
+                    maxabs = valueabs;
+                }
+
+                if (valueabs > cliplevel) {
+                    clipcount++;
+                }
+
+                sum += value * value;
+                //fft stuff
+                if (index < mBlockSizeSamples) {
+                    mData.mData[index] = value;
+                }
+                index++;
+            }
+
+            //for the current frame, compute FFT and send to the viewer.
+
+            //apply window and pack as complex for now.
+            DspBufferMath.mult(mData, mData, mWindow.mBuffer);
+            DspBufferMath.set(mC, mData);
+            mFftServer.fft(mC, 1);
+
+            double[] halfMagnitude = new double[mBlockSizeSamples / 2];
+            for (i = 0; i < mBlockSizeSamples / 2; i++) {
+                halfMagnitude[i] = Math.sqrt(mC.mReal[i] * mC.mReal[i] + mC.mImag[i] * mC.mImag[i]);
+            }
+
+            mFreqAverageMain.setData(halfMagnitude, false); //average all of them!
+
+            switch(mCurrentTest) {
+                case 0:
+                    mFreqAverage0.setData(halfMagnitude, false);
+                    break;
+                case 1:
+                    mFreqAverage1.setData(halfMagnitude, false);
+                    break;
+            }
+        }
+    }
+
+    public void onMarkerReached(AudioRecord track) {
+    }
+
+    // ---------------------------------------------------------
+    // Implementation of Runnable for the audio recording + playback
+    // --------------------
+    public void run() {
+        int nSamplesRead = 0;
+
+        Thread thisThread = Thread.currentThread();
+        while (mRecordThread == thisThread && !mRecordThreadShutdown) {
+            // read from native recorder
+            nSamplesRead = mRecorder.read(mAudioShortArray, 0, mMinRecordBufferSizeInSamples);
+            if (nSamplesRead > 0) {
+                mPipe.write(mAudioShortArray, 0, nSamplesRead);
+            }
+        }
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java
new file mode 100644
index 0000000..f9334b3
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioFrequencySpeakerActivity.java
@@ -0,0 +1,732 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+import com.android.cts.verifier.audio.wavelib.*;
+import com.android.compatibility.common.util.ReportLog;
+import com.android.compatibility.common.util.ResultType;
+import com.android.compatibility.common.util.ResultUnit;
+import android.content.Context;
+import android.content.BroadcastReceiver;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+import android.media.AudioDeviceCallback;
+import android.media.AudioDeviceInfo;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+import android.media.AudioRecord;
+import android.media.MediaRecorder;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemClock;
+
+import android.util.Log;
+
+import android.view.View;
+import android.view.View.OnClickListener;
+
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.SeekBar;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+
+/**
+ * Tests Audio Device roundtrip latency by using a loopback plug.
+ */
+public class AudioFrequencySpeakerActivity extends PassFailButtons.Activity implements Runnable,
+    AudioRecord.OnRecordPositionUpdateListener {
+    private static final String TAG = "AudioFrequencySpeakerActivity";
+
+    static final int TEST_STARTED = 900;
+    static final int TEST_ENDED = 901;
+    static final int TEST_MESSAGE = 902;
+    static final double MIN_ENERGY_BAND_1 = -50.0;          //dB Full Scale
+    static final double MAX_ENERGY_BAND_1_BASE = -60.0;     //dB Full Scale
+    static final double MIN_FRACTION_POINTS_IN_BAND = 0.3;
+
+    final OnBtnClickListener mBtnClickListener = new OnBtnClickListener();
+    Context mContext;
+
+    Button mLoopbackPlugReady;          //user signal to have connected USB Microphone
+    Button mTestButton;                 //user to start test
+    String mUsbDevicesInfo;             //usb device info for report
+    LinearLayout mLinearLayout;
+    TextView mResultText;
+    TextView mUsbStatusText;
+    ProgressBar mProgressBar;
+
+    private boolean mIsRecording = false;
+    private final Object mRecordingLock = new Object();
+    private AudioRecord mRecorder;
+    private int mMinRecordBufferSizeInSamples = 0;
+    private short[] mAudioShortArray;
+    private short[] mAudioShortArray2;
+
+    private final int mBlockSizeSamples = 1024;
+    private final int mSamplingRate = 48000;
+    private final int mSelectedRecordSource = MediaRecorder.AudioSource.VOICE_RECOGNITION;
+    private final int mChannelConfig = AudioFormat.CHANNEL_IN_MONO;
+    private final int mAudioFormat = AudioFormat.ENCODING_PCM_16BIT;
+    private Thread mRecordThread;
+    private boolean mRecordThreadShutdown = false;
+
+    PipeShort mPipe = new PipeShort(65536);
+    SoundPlayerObject mSPlayer;
+
+    private DspBufferComplex mC;
+    private DspBufferDouble mData;
+
+    private DspWindow mWindow;
+    private DspFftServer mFftServer;
+    private VectorAverage mFreqAverageMain = new VectorAverage();
+
+    private VectorAverage mFreqAverageBase = new VectorAverage();
+    private VectorAverage mFreqAverageLeft = new VectorAverage();
+    private VectorAverage mFreqAverageRight = new VectorAverage();
+
+    private int mCurrentTest = -1;
+    int mBands = 4;
+    AudioBandSpecs[] bandSpecsArray = new AudioBandSpecs[mBands];
+    AudioBandSpecs[] baseBandSpecsArray = new AudioBandSpecs[mBands];
+
+    int mMaxLevel;
+    private class OnBtnClickListener implements OnClickListener {
+        @Override
+        public void onClick(View v) {
+            switch (v.getId()) {
+            case R.id.audio_frequency_speaker_mic_ready_btn:
+                testUSB();
+                break;
+            case R.id.audio_frequency_speaker_test_btn:
+                startAudioTest();
+                break;
+            }
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.audio_frequency_speaker_activity);
+
+        mContext = this;
+
+        mLoopbackPlugReady = (Button)findViewById(R.id.audio_frequency_speaker_mic_ready_btn);
+        mLoopbackPlugReady.setOnClickListener(mBtnClickListener);
+        mLinearLayout = (LinearLayout)findViewById(R.id.audio_frequency_speaker_layout);
+        mUsbStatusText = (TextView)findViewById(R.id.audio_frequency_speaker_usb_status);
+        mTestButton = (Button)findViewById(R.id.audio_frequency_speaker_test_btn);
+        mTestButton.setOnClickListener(mBtnClickListener);
+        mResultText = (TextView)findViewById(R.id.audio_frequency_speaker_results_text);
+        mProgressBar = (ProgressBar)findViewById(R.id.audio_frequency_speaker_progress_bar);
+        showWait(false);
+        enableLayout(false);         //disabled all content
+
+        mSPlayer = new SoundPlayerObject();
+        mSPlayer.setSoundWithResId(getApplicationContext(), R.raw.stereo_mono_white_noise_48);
+        mSPlayer.setBalance(0.5f);
+
+        //Init FFT stuff
+        mAudioShortArray2 = new short[mBlockSizeSamples*2];
+        mData = new DspBufferDouble(mBlockSizeSamples);
+        mC = new DspBufferComplex(mBlockSizeSamples);
+        mFftServer = new DspFftServer(mBlockSizeSamples);
+
+        int overlap = mBlockSizeSamples / 2;
+
+        mWindow = new DspWindow(DspWindow.WINDOW_HANNING, mBlockSizeSamples, overlap);
+
+        setPassFailButtonClickListeners();
+        getPassButton().setEnabled(false);
+        setInfoResources(R.string.audio_frequency_speaker_test,
+                R.string.audio_frequency_speaker_info, -1);
+
+        //Init bands for Left/Right test
+        bandSpecsArray[0] = new AudioBandSpecs(
+                50, 500,        /* frequency start,stop */
+                -20.0, -50,     /* start top,bottom value */
+                4.0, -4.0       /* stop top,bottom value */);
+
+        bandSpecsArray[1] = new AudioBandSpecs(
+                500,4000,       /* frequency start,stop */
+                4.0, -4.0,      /* start top,bottom value */
+                4.0, -4.0        /* stop top,bottom value */);
+
+        bandSpecsArray[2] = new AudioBandSpecs(
+                4000, 12000,    /* frequency start,stop */
+                4.0, -4.0,      /* start top,bottom value */
+                5.0, -5.0       /* stop top,bottom value */);
+
+        bandSpecsArray[3] = new AudioBandSpecs(
+                12000, 20000,   /* frequency start,stop */
+                5.0, -5.0,      /* start top,bottom value */
+                5.0, -30.0      /* stop top,bottom value */);
+
+        //Init base bands for silence
+        baseBandSpecsArray[0] = new AudioBandSpecs(
+                50, 500,        /* frequency start,stop */
+                40.0, -50.0,     /* start top,bottom value */
+                5.0, -50.0       /* stop top,bottom value */);
+
+        baseBandSpecsArray[1] = new AudioBandSpecs(
+                500,4000,       /* frequency start,stop */
+                5.0, -50.0,      /* start top,bottom value */
+                5.0, -50.0        /* stop top,bottom value */);
+
+        baseBandSpecsArray[2] = new AudioBandSpecs(
+                4000, 12000,    /* frequency start,stop */
+                5.0, -50.0,      /* start top,bottom value */
+                5.0, -50.0       /* stop top,bottom value */);
+
+        baseBandSpecsArray[3] = new AudioBandSpecs(
+                12000, 20000,   /* frequency start,stop */
+                5.0, -50.0,      /* start top,bottom value */
+                5.0, -50.0      /* stop top,bottom value */);
+
+    }
+
+    /**
+     * enable test ui elements
+     */
+    private void enableLayout(boolean enable) {
+        for (int i = 0; i < mLinearLayout.getChildCount(); i++) {
+            View view = mLinearLayout.getChildAt(i);
+            view.setEnabled(enable);
+        }
+    }
+
+    /**
+     * show active progress bar
+     */
+    private void showWait(boolean show) {
+        if (show) {
+            mProgressBar.setVisibility(View.VISIBLE);
+        } else {
+            mProgressBar.setVisibility(View.INVISIBLE);
+        }
+    }
+
+    private void setMaxLevel() {
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        mMaxLevel = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+        am.setStreamVolume(AudioManager.STREAM_MUSIC, (int)(mMaxLevel), 0);
+    }
+
+    private void setMinLevel() {
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
+    }
+
+    /**
+     *  Start the loopback audio test
+     */
+    private void startAudioTest() {
+        if (mTestThread != null && !mTestThread.isAlive()) {
+            mTestThread = null; //kill it.
+        }
+
+        if (mTestThread == null) {
+            Log.v(TAG,"Executing test Thread");
+            mTestThread = new Thread(mPlayRunnable);
+            getPassButton().setEnabled(false);
+            if (!mSPlayer.isAlive())
+                mSPlayer.start();
+            mTestThread.start();
+        } else {
+            Log.v(TAG,"test Thread already running.");
+        }
+    }
+
+    Thread mTestThread;
+    Runnable mPlayRunnable = new Runnable() {
+        public void run() {
+            Message msg = Message.obtain();
+            msg.what = TEST_STARTED;
+            mMessageHandler.sendMessage(msg);
+
+            setMinLevel();
+            sendMessage("Testing Background Environment");
+            mCurrentTest = 0;
+            mSPlayer.setBalance(0.5f);
+            mFreqAverageBase.reset();
+            play();
+
+            setMaxLevel();
+            sendMessage("Testing Left Capture");
+            mCurrentTest = 1;
+            mFreqAverageLeft.reset();
+            mSPlayer.setBalance(0.0f);
+            play();
+
+            sendMessage("Testing Right Capture");
+            mCurrentTest = 2;
+            mFreqAverageRight.reset();
+            mSPlayer.setBalance(1.0f);
+            play();
+
+            mCurrentTest = -1;
+            sendMessage("Testing Completed");
+
+            Message msg2 = Message.obtain();
+            msg2.what = TEST_ENDED;
+            mMessageHandler.sendMessage(msg2);
+        }
+
+        private void play() {
+            startRecording();
+            mSPlayer.play(true);
+
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            mSPlayer.play(false);
+            stopRecording();
+        }
+
+        private void sendMessage(String str) {
+            Message msg = Message.obtain();
+            msg.what = TEST_MESSAGE;
+            msg.obj = str;
+            mMessageHandler.sendMessage(msg);
+        }
+    };
+
+    private Handler mMessageHandler = new Handler() {
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            switch (msg.what) {
+            case TEST_STARTED:
+                showWait(true);
+                getPassButton().setEnabled(false);
+                break;
+            case TEST_ENDED:
+                showWait(false);
+                computeResults();
+                break;
+            case TEST_MESSAGE:
+                String str = (String)msg.obj;
+                if (str != null) {
+                    mResultText.setText(str);
+                }
+                break;
+            default:
+                Log.e(TAG, String.format("Unknown message: %d", msg.what));
+            }
+        }
+    };
+
+    private class Results {
+        private String mLabel;
+        public double[] mValuesLog;
+        int[] mPointsPerBand = new int[mBands];
+        double[] mAverageEnergyPerBand = new double[mBands];
+        int[] mInBoundPointsPerBand = new int[mBands];
+        public boolean mIsBaseMeasurement = false;
+        public Results(String label) {
+            mLabel = label;
+        }
+
+        //append results
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            sb.append(String.format("Channel %s\n", mLabel));
+            sb.append("Level in Band 1 : " + (testLevel() ? "OK" :"FAILED") +
+                    (mIsBaseMeasurement ? " (Base Meas.)" : "") + "\n");
+            for (int b = 0; b < mBands; b++) {
+                double percent = 0;
+                if (mPointsPerBand[b] > 0) {
+                    percent = 100.0 * (double)mInBoundPointsPerBand[b] / mPointsPerBand[b];
+                }
+                sb.append(String.format(
+                        " Band %d: Av. Level: %.1f dB InBand: %d/%d (%.1f%%) %s\n",
+                        b, mAverageEnergyPerBand[b],
+                        mInBoundPointsPerBand[b],
+                        mPointsPerBand[b],
+                        percent,
+                        (testInBand(b) ? "OK" : "FAILED")));
+            }
+            return sb.toString();
+        }
+
+        public boolean testLevel() {
+            if (mIsBaseMeasurement && mAverageEnergyPerBand[1] <= MAX_ENERGY_BAND_1_BASE) {
+                return true;
+            } else if (mAverageEnergyPerBand[1] >= MIN_ENERGY_BAND_1) {
+                return true;
+            }
+            return false;
+        }
+
+        public boolean testInBand(int b) {
+            if (b >= 0 && b < mBands && mPointsPerBand[b] > 0) {
+                if ((double)mInBoundPointsPerBand[b] / mPointsPerBand[b] >
+                MIN_FRACTION_POINTS_IN_BAND)
+                    return true;
+            }
+            return false;
+        }
+
+        public boolean testAll() {
+            if (!testLevel()) {
+                return false;
+            }
+            for (int b = 0; b < mBands; b++) {
+                if (!testInBand(b)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    /**
+     * compute test results
+     */
+    private void computeResults() {
+
+        Results resultsBase = new Results("Base");
+        computeResultsForVector(mFreqAverageBase, resultsBase, true, baseBandSpecsArray);
+        Results resultsLeft = new Results("Left");
+        computeResultsForVector(mFreqAverageLeft, resultsLeft, false, bandSpecsArray);
+        Results resultsRight = new Results("Right");
+        computeResultsForVector(mFreqAverageRight, resultsRight, false, bandSpecsArray);
+        if (resultsLeft.testAll() && resultsRight.testAll() && resultsBase.testAll()) {
+            //enable button
+            getPassButton().setEnabled(true);
+        }
+    }
+
+    private void computeResultsForVector(VectorAverage freqAverage,Results results, boolean isBase,
+            AudioBandSpecs[] bandSpecs) {
+
+        results.mIsBaseMeasurement = isBase;
+        int points = freqAverage.getSize();
+        if (points > 0) {
+            //compute vector in db
+            double[] values = new double[points];
+            freqAverage.getData(values, false);
+            results.mValuesLog = new double[points];
+            for (int i = 0; i < points; i++) {
+                results.mValuesLog[i] = 20 * Math.log10(values[i]);
+            }
+
+            int currentBand = 0;
+            for (int i = 0; i < points; i++) {
+                double freq = (double)mSamplingRate * i / (double)mBlockSizeSamples;
+                if (freq > bandSpecs[currentBand].mFreqStop) {
+                    currentBand++;
+                    if (currentBand >= mBands)
+                        break;
+                }
+
+                if (freq >= bandSpecs[currentBand].mFreqStart) {
+                    results.mAverageEnergyPerBand[currentBand] += results.mValuesLog[i];
+                    results.mPointsPerBand[currentBand]++;
+                }
+            }
+
+            for (int b = 0; b < mBands; b++) {
+                if (results.mPointsPerBand[b] > 0) {
+                    results.mAverageEnergyPerBand[b] =
+                            results.mAverageEnergyPerBand[b] / results.mPointsPerBand[b];
+                }
+            }
+
+            //set offset relative to band 1 level
+            for (int b = 0; b < mBands; b++) {
+                bandSpecs[b].setOffset(results.mAverageEnergyPerBand[1]);
+            }
+
+            //test points in band.
+            currentBand = 0;
+            for (int i = 0; i < points; i++) {
+                double freq = (double)mSamplingRate * i / (double)mBlockSizeSamples;
+                if (freq >  bandSpecs[currentBand].mFreqStop) {
+                    currentBand++;
+                    if (currentBand >= mBands)
+                        break;
+                }
+
+                if (freq >= bandSpecs[currentBand].mFreqStart) {
+                    double value = results.mValuesLog[i];
+                    if (bandSpecs[currentBand].isInBounds(freq, value)) {
+                        results.mInBoundPointsPerBand[currentBand]++;
+                    }
+                }
+            }
+
+            appendResultsToScreen(results.toString());
+            //store results
+            recordTestResults(results);
+        } else {
+            appendResultsToScreen("Failed testing channel " + results.mLabel);
+        }
+    }
+
+    //append results
+    private void appendResultsToScreen(String str) {
+        String currentText = mResultText.getText().toString();
+        mResultText.setText(currentText + "\n" + str);
+    }
+
+    /**
+     * Store test results in log
+     */
+    private void recordTestResults(Results results) {
+        String channelLabel = "channel_" + results.mLabel;
+
+        for (int b = 0; b < mBands; b++) {
+            String bandLabel = String.format(channelLabel + "_%d", b);
+            getReportLog().addValue(
+                    bandLabel + "_Level",
+                    results.mAverageEnergyPerBand[b],
+                    ResultType.HIGHER_BETTER,
+                    ResultUnit.NONE);
+
+            getReportLog().addValue(
+                    bandLabel + "_pointsinbound",
+                    results.mInBoundPointsPerBand[b],
+                    ResultType.HIGHER_BETTER,
+                    ResultUnit.COUNT);
+
+            getReportLog().addValue(
+                    bandLabel + "_pointstotal",
+                    results.mPointsPerBand[b],
+                    ResultType.NEUTRAL,
+                    ResultUnit.COUNT);
+        }
+
+        getReportLog().addValues(channelLabel + "_magnitudeSpectrumLog",
+                results.mValuesLog,
+                ResultType.NEUTRAL,
+                ResultUnit.NONE);
+
+        Log.v(TAG, "Results Recorded");
+    }
+
+    private void startRecording() {
+        synchronized (mRecordingLock) {
+            mIsRecording = true;
+        }
+
+        boolean successful = initRecord();
+        if (successful) {
+            startRecordingForReal();
+        } else {
+            Log.v(TAG, "Recorder initialization error.");
+            synchronized (mRecordingLock) {
+                mIsRecording = false;
+            }
+        }
+    }
+
+    private void startRecordingForReal() {
+        // start streaming
+        if (mRecordThread == null) {
+            mRecordThread = new Thread(AudioFrequencySpeakerActivity.this);
+            mRecordThread.setName("FrequencyAnalyzerThread");
+            mRecordThreadShutdown = false;
+        }
+        if (!mRecordThread.isAlive()) {
+            mRecordThread.start();
+        }
+
+        mPipe.flush();
+
+        long startTime = SystemClock.uptimeMillis();
+        mRecorder.startRecording();
+        if (mRecorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) {
+            stopRecording();
+            return;
+        }
+        Log.v(TAG, "Start time: " + (long) (SystemClock.uptimeMillis() - startTime) + " ms");
+    }
+
+    private void stopRecording() {
+        synchronized (mRecordingLock) {
+            stopRecordingForReal();
+            mIsRecording = false;
+        }
+    }
+
+    private void stopRecordingForReal() {
+
+        // stop streaming
+        Thread zeThread = mRecordThread;
+        mRecordThread = null;
+        mRecordThreadShutdown = true;
+        if (zeThread != null) {
+            zeThread.interrupt();
+            try {
+                zeThread.join();
+            } catch(InterruptedException e) {
+                Log.v(TAG,"Error shutting down recording thread " + e);
+                //we don't really care about this error, just logging it.
+            }
+        }
+         // release recording resources
+        if (mRecorder != null) {
+            mRecorder.stop();
+            mRecorder.release();
+            mRecorder = null;
+        }
+    }
+
+    private boolean initRecord() {
+        int minRecordBuffSizeInBytes = AudioRecord.getMinBufferSize(mSamplingRate,
+                mChannelConfig, mAudioFormat);
+        Log.v(TAG,"FrequencyAnalyzer: min buff size = " + minRecordBuffSizeInBytes + " bytes");
+        if (minRecordBuffSizeInBytes <= 0) {
+            return false;
+        }
+
+        mMinRecordBufferSizeInSamples = minRecordBuffSizeInBytes / 2;
+        // allocate the byte array to read the audio data
+
+        mAudioShortArray = new short[mMinRecordBufferSizeInSamples];
+
+        Log.v(TAG, "Initiating record:");
+        Log.v(TAG, "      using source " + mSelectedRecordSource);
+        Log.v(TAG, "      at " + mSamplingRate + "Hz");
+
+        try {
+            mRecorder = new AudioRecord(mSelectedRecordSource, mSamplingRate,
+                    mChannelConfig, mAudioFormat, 2 * minRecordBuffSizeInBytes);
+        } catch (IllegalArgumentException e) {
+            return false;
+        }
+        if (mRecorder.getState() != AudioRecord.STATE_INITIALIZED) {
+            mRecorder.release();
+            mRecorder = null;
+            return false;
+        }
+        mRecorder.setRecordPositionUpdateListener(this);
+        mRecorder.setPositionNotificationPeriod(mBlockSizeSamples / 2);
+        return true;
+    }
+
+    // ---------------------------------------------------------
+    // Implementation of AudioRecord.OnPeriodicNotificationListener
+    // --------------------
+    public void onPeriodicNotification(AudioRecord recorder) {
+        int samplesAvailable = mPipe.availableToRead();
+        int samplesNeeded = mBlockSizeSamples;
+        if (samplesAvailable >= samplesNeeded) {
+            mPipe.read(mAudioShortArray2, 0, samplesNeeded);
+
+            //compute stuff.
+            double maxval = Math.pow(2, 15);
+            int clipcount = 0;
+            double cliplevel = (maxval-10) / maxval;
+            double sum = 0;
+            double maxabs = 0;
+            int i;
+            int index = 0;
+
+            for (i = 0; i < samplesNeeded; i++) {
+                double value = mAudioShortArray2[i] / maxval;
+                double valueabs = Math.abs(value);
+
+                if (valueabs > maxabs) {
+                    maxabs = valueabs;
+                }
+
+                if (valueabs > cliplevel) {
+                    clipcount++;
+                }
+
+                sum += value * value;
+                //fft stuff
+                if (index < mBlockSizeSamples) {
+                    mData.mData[index] = value;
+                }
+                index++;
+            }
+
+            //for the current frame, compute FFT and send to the viewer.
+
+            //apply window and pack as complex for now.
+            DspBufferMath.mult(mData, mData, mWindow.mBuffer);
+            DspBufferMath.set(mC, mData);
+            mFftServer.fft(mC, 1);
+
+            double[] halfMagnitude = new double[mBlockSizeSamples / 2];
+            for (i = 0; i < mBlockSizeSamples / 2; i++) {
+                halfMagnitude[i] = Math.sqrt(mC.mReal[i] * mC.mReal[i] + mC.mImag[i] * mC.mImag[i]);
+            }
+
+            mFreqAverageMain.setData(halfMagnitude, false); //average all of them!
+
+            switch(mCurrentTest) {
+                case 0:
+                    mFreqAverageBase.setData(halfMagnitude, false);
+                    break;
+                case 1:
+                    mFreqAverageLeft.setData(halfMagnitude, false);
+                    break;
+                case 2:
+                    mFreqAverageRight.setData(halfMagnitude, false);
+                    break;
+            }
+        }
+    }
+
+    public void onMarkerReached(AudioRecord track) {
+    }
+
+    // ---------------------------------------------------------
+    // Implementation of Runnable for the audio recording + playback
+    // --------------------
+    public void run() {
+        int nSamplesRead = 0;
+
+        Thread thisThread = Thread.currentThread();
+        while (mRecordThread == thisThread && !mRecordThreadShutdown) {
+            // read from native recorder
+            nSamplesRead = mRecorder.read(mAudioShortArray, 0, mMinRecordBufferSizeInSamples);
+            if (nSamplesRead > 0) {
+                mPipe.write(mAudioShortArray, 0, nSamplesRead);
+            }
+        }
+    }
+
+    private void testUSB() {
+        boolean isConnected = UsbMicrophoneTester.getIsMicrophoneConnected(getApplicationContext());
+        mUsbDevicesInfo = UsbMicrophoneTester.getUSBDeviceListString(getApplicationContext());
+
+        if (isConnected) {
+            mUsbStatusText.setText(
+                    getResources().getText(R.string.audio_frequency_speaker_mic_ready_text));
+            enableLayout(true);
+        } else {
+            mUsbStatusText.setText(
+                    getResources().getText(R.string.audio_frequency_speaker_mic_not_ready_text));
+            enableLayout(false);
+        }
+    }
+
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java
new file mode 100644
index 0000000..e603a69
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/AudioLoopbackActivity.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+import com.android.compatibility.common.util.ReportLog;
+import com.android.compatibility.common.util.ResultType;
+import com.android.compatibility.common.util.ResultUnit;
+import android.content.Context;
+
+import android.media.AudioDeviceCallback;
+import android.media.AudioDeviceInfo;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+
+import android.util.Log;
+
+import android.view.View;
+import android.view.View.OnClickListener;
+
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.SeekBar;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+
+/**
+ * Tests Audio Device roundtrip latency by using a loopback plug.
+ */
+public class AudioLoopbackActivity extends PassFailButtons.Activity {
+    private static final String TAG = "AudioLoopbackActivity";
+
+    public static final int BYTES_PER_FRAME = 2;
+
+    NativeAudioThread nativeAudioThread = null;
+
+    private int mSamplingRate = 44100;
+    private int mMinBufferSizeInFrames = 0;
+    private static final double CONFIDENCE_THRESHOLD = 0.6;
+    private Correlation mCorrelation = new Correlation();
+
+    OnBtnClickListener mBtnClickListener = new OnBtnClickListener();
+    Context mContext;
+
+    Button mLoopbackPlugReady;
+    TextView mAudioLevelText;
+    SeekBar mAudioLevelSeekbar;
+    LinearLayout mLinearLayout;
+    Button mTestButton;
+    TextView mResultText;
+    ProgressBar mProgressBar;
+
+    int mMaxLevel;
+    private class OnBtnClickListener implements OnClickListener {
+        @Override
+        public void onClick(View v) {
+            switch (v.getId()) {
+                case R.id.audio_loopback_plug_ready_btn:
+                    Log.i(TAG, "audio loopback plug ready");
+                    //enable all the other views.
+                    enableLayout(true);
+                    break;
+                case R.id.audio_loopback_test_btn:
+                    Log.i(TAG, "audio loopback test");
+                    startAudioTest();
+                    break;
+
+            }
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.audio_loopback_activity);
+
+        mContext = this;
+
+        mLoopbackPlugReady = (Button)findViewById(R.id.audio_loopback_plug_ready_btn);
+        mLoopbackPlugReady.setOnClickListener(mBtnClickListener);
+        mLinearLayout = (LinearLayout)findViewById(R.id.audio_loopback_layout);
+        mAudioLevelText = (TextView)findViewById(R.id.audio_loopback_level_text);
+        mAudioLevelSeekbar = (SeekBar)findViewById(R.id.audio_loopback_level_seekbar);
+        mTestButton =(Button)findViewById(R.id.audio_loopback_test_btn);
+        mTestButton.setOnClickListener(mBtnClickListener);
+        mResultText = (TextView)findViewById(R.id.audio_loopback_results_text);
+        mProgressBar = (ProgressBar)findViewById(R.id.audio_loopback_progress_bar);
+        showWait(false);
+
+        enableLayout(false);         //disabled all content
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        mMaxLevel = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+        mAudioLevelSeekbar.setMax(mMaxLevel);
+        am.setStreamVolume(AudioManager.STREAM_MUSIC, (int)(0.7 * mMaxLevel), 0);
+        refreshLevel();
+
+        mAudioLevelSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+            @Override
+            public void onStopTrackingTouch(SeekBar seekBar) {
+            }
+
+            @Override
+            public void onStartTrackingTouch(SeekBar seekBar) {
+            }
+
+            @Override
+            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+
+                AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+                am.setStreamVolume(AudioManager.STREAM_MUSIC,
+                        progress, 0);
+                refreshLevel();
+                Log.i(TAG,"Changed stream volume to: " + progress);
+            }
+        });
+
+        setPassFailButtonClickListeners();
+        getPassButton().setEnabled(false);
+        setInfoResources(R.string.sample_test, R.string.audio_loopback_info, -1);
+    }
+
+    /**
+     * refresh Audio Level seekbar and text
+     */
+    private void refreshLevel() {
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+
+        int currentLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC);
+        mAudioLevelSeekbar.setProgress(currentLevel);
+
+        String levelText = String.format("%s: %d/%d",
+                getResources().getString(R.string.audio_loopback_level_text),
+                currentLevel, mMaxLevel);
+        mAudioLevelText.setText(levelText);
+    }
+
+    /**
+     * enable test ui elements
+     */
+    private void enableLayout(boolean enable) {
+        for (int i = 0; i<mLinearLayout.getChildCount(); i++) {
+            View view = mLinearLayout.getChildAt(i);
+            view.setEnabled(enable);
+        }
+    }
+
+    /**
+     * show active progress bar
+     */
+    private void showWait(boolean show) {
+        if (show) {
+            mProgressBar.setVisibility(View.VISIBLE) ;
+        } else {
+            mProgressBar.setVisibility(View.INVISIBLE) ;
+        }
+    }
+
+    /**
+     *  Start the loopback audio test
+     */
+    private void startAudioTest() {
+        getPassButton().setEnabled(false);
+
+        //get system defaults for sampling rate, buffers.
+        AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
+        String value = am.getProperty(AudioManager.PROPERTY_OUTPUT_FRAMES_PER_BUFFER);
+        mMinBufferSizeInFrames = Integer.parseInt(value);
+
+        int minBufferSizeInBytes = BYTES_PER_FRAME * mMinBufferSizeInFrames;
+
+        mSamplingRate = AudioTrack.getNativeOutputSampleRate(AudioManager.STREAM_MUSIC);
+
+        Log.i(TAG, String.format("startAudioTest sr:%d , buffer:%d frames",
+                mSamplingRate, mMinBufferSizeInFrames));
+
+        nativeAudioThread = new NativeAudioThread();
+        if (nativeAudioThread != null) {
+            nativeAudioThread.setMessageHandler(mMessageHandler);
+            nativeAudioThread.mSessionId = 0;
+            nativeAudioThread.setParams(mSamplingRate,
+                    minBufferSizeInBytes,
+                    minBufferSizeInBytes,
+                    0x03 /*voice recognition*/);
+            nativeAudioThread.start();
+
+            try {
+                Thread.sleep(200);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            nativeAudioThread.runTest();
+
+        }
+    }
+
+    /**
+     * handler for messages from audio thread
+     */
+    private Handler mMessageHandler = new Handler() {
+        public void handleMessage(Message msg) {
+            super.handleMessage(msg);
+            switch(msg.what) {
+                case NativeAudioThread.NATIVE_AUDIO_THREAD_MESSAGE_REC_STARTED:
+                    Log.v(TAG,"got message native rec started!!");
+                    showWait(true);
+                    mResultText.setText("Test Running...");
+                    break;
+                case NativeAudioThread.NATIVE_AUDIO_THREAD_MESSAGE_REC_ERROR:
+                    Log.v(TAG,"got message native rec can't start!!");
+                    showWait(false);
+                    mResultText.setText("Test Error.");
+                    break;
+                case NativeAudioThread.NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE:
+                case NativeAudioThread.NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE_ERRORS:
+                    if (nativeAudioThread != null) {
+                        Log.v(TAG,"Finished recording.");
+                        double [] waveData = nativeAudioThread.getWaveData();
+                        mCorrelation.computeCorrelation(waveData, mSamplingRate);
+                        mResultText.setText(String.format(
+                                "Test Finished\nLatency:%.2f ms\nConfidence: %.2f",
+                                mCorrelation.mEstimatedLatencyMs,
+                                mCorrelation.mEstimatedLatencyConfidence));
+
+                        recordTestResults();
+                        if (mCorrelation.mEstimatedLatencyConfidence >= CONFIDENCE_THRESHOLD) {
+                            getPassButton().setEnabled(true);
+                        }
+
+                        //close
+                        if (nativeAudioThread != null) {
+                            nativeAudioThread.isRunning = false;
+                            try {
+                                nativeAudioThread.finish();
+                                nativeAudioThread.join();
+                            } catch (InterruptedException e) {
+                                e.printStackTrace();
+                            }
+                            nativeAudioThread = null;
+                        }
+                        showWait(false);
+                    }
+                    break;
+                default:
+                    break;
+            }
+        }
+    };
+
+    /**
+     * Store test results in log
+     */
+    private void recordTestResults() {
+
+        getReportLog().addValue(
+                "Estimated Latency",
+                mCorrelation.mEstimatedLatencyMs,
+                ResultType.LOWER_BETTER,
+                ResultUnit.MS);
+
+        getReportLog().addValue(
+                "Confidence",
+                mCorrelation.mEstimatedLatencyConfidence,
+                ResultType.HIGHER_BETTER,
+                ResultUnit.NONE);
+
+        int audioLevel = mAudioLevelSeekbar.getProgress();
+        getReportLog().addValue(
+                "Audio Level",
+                audioLevel,
+                ResultType.NEUTRAL,
+                ResultUnit.NONE);
+
+        getReportLog().addValue(
+                "Frames Buffer Size",
+                mMinBufferSizeInFrames,
+                ResultType.NEUTRAL,
+                ResultUnit.NONE);
+
+        getReportLog().addValue(
+                "Sampling Rate",
+                mSamplingRate,
+                ResultType.NEUTRAL,
+                ResultUnit.NONE);
+
+        Log.v(TAG,"Results Recorded");
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/Correlation.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/Correlation.java
new file mode 100644
index 0000000..75b04eb
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/Correlation.java
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import android.util.Log;
+
+
+public class Correlation {
+
+    private int mBlockSize = 4096;
+    private int mSamplingRate = 44100;
+    private double [] mDataDownsampled = new double [mBlockSize];
+    private double [] mDataAutocorrelated = new double[mBlockSize];
+
+    public double mEstimatedLatencySamples = 0;
+    public double mEstimatedLatencyMs = 0;
+    public double mEstimatedLatencyConfidence = 0.0;
+
+    public void init(int blockSize, int samplingRate) {
+        mBlockSize = blockSize;
+        mSamplingRate = samplingRate;
+    }
+
+    public boolean computeCorrelation(double [] data, int samplingRate) {
+        boolean status = false;
+        log("Started Auto Correlation for data with " + data.length + " points");
+        mSamplingRate = samplingRate;
+
+        downsampleData(data, mDataDownsampled);
+
+        //correlation vector
+        autocorrelation(mDataDownsampled, mDataAutocorrelated);
+
+        int N = data.length; //all samples available
+        double groupSize =  (double) N / mBlockSize;  //samples per downsample point.
+
+        double maxValue = 0;
+        int maxIndex = -1;
+
+        double minLatencyMs = 8; //min latency expected. This algorithm should be improved.
+        int minIndex = (int)(0.5 + minLatencyMs * mSamplingRate / (groupSize*1000));
+
+        double average = 0;
+        double rms = 0;
+        //find max
+        for (int i=minIndex; i<mDataAutocorrelated.length; i++) {
+            average += mDataAutocorrelated[i];
+            rms += mDataAutocorrelated[i]*mDataAutocorrelated[i];
+            if (mDataAutocorrelated[i] > maxValue) {
+                maxValue = mDataAutocorrelated[i];
+                maxIndex = i;
+            }
+        }
+
+        rms = Math.sqrt(rms/mDataAutocorrelated.length);
+        average = average/mDataAutocorrelated.length;
+        log(String.format(" Maxvalue %f, max Index : %d/%d (%d)  minIndex=%d",maxValue, maxIndex,
+                mDataAutocorrelated.length, data.length, minIndex));
+
+        log(String.format("  average : %.3f  rms: %.3f", average, rms));
+
+        mEstimatedLatencyConfidence = 0.0;
+        if (average>0) {
+            double factor = 3.0;
+
+            double raw = (rms-average) /(factor*average);
+            log(String.format("Raw: %.3f",raw));
+            mEstimatedLatencyConfidence = Math.max(Math.min(raw, 1.0),0.0);
+        }
+
+        log(String.format(" ****Confidence: %.2f",mEstimatedLatencyConfidence));
+
+        mEstimatedLatencySamples = maxIndex*groupSize;
+
+        mEstimatedLatencyMs = mEstimatedLatencySamples *1000/mSamplingRate;
+
+        log(String.format(" latencySamples: %.2f  %.2f ms", mEstimatedLatencySamples,
+                mEstimatedLatencyMs));
+
+        status = true;
+        return status;
+    }
+
+    private boolean downsampleData(double [] data, double [] dataDownsampled) {
+
+        boolean status = false;
+        // mDataDownsampled = new double[mBlockSize];
+        for (int i=0; i<mBlockSize; i++) {
+            dataDownsampled[i] = 0;
+        }
+
+        int N = data.length; //all samples available
+        double groupSize =  (double) N / mBlockSize;
+
+        int currentIndex = 0;
+        double nextGroup = groupSize;
+        for (int i = 0; i<N && currentIndex<mBlockSize; i++) {
+
+            if (i> nextGroup) { //advanced to next group.
+                currentIndex++;
+                nextGroup += groupSize;
+            }
+
+            if (currentIndex>=mBlockSize) {
+                break;
+            }
+            dataDownsampled[currentIndex] += Math.abs(data[i]);
+        }
+
+        status = true;
+        return status;
+    }
+
+    private boolean autocorrelation(double [] data, double [] dataOut) {
+        boolean status = false;
+
+        double sumsquared = 0;
+        int N = data.length;
+        for (int i=0; i<N; i++) {
+            double value = data[i];
+            sumsquared += value*value;
+        }
+
+        if (sumsquared>0) {
+            for (int i = 0; i < N; i++) {
+                dataOut[i] = 0;
+                for (int j = 0; j < N - i; j++) {
+
+                    dataOut[i] += data[j] * data[i + j];
+                }
+                dataOut[i] = dataOut[i] / sumsquared;
+            }
+            status = true;
+        }
+
+        return status;
+    }
+
+    private static void log(String msg) {
+        Log.v("Recorder", msg);
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/NativeAudioThread.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/NativeAudioThread.java
new file mode 100644
index 0000000..224d4c8
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/NativeAudioThread.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//package org.drrickorang.loopback;
+
+package com.android.cts.verifier.audio;
+
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+//import android.media.MediaPlayer;
+import android.media.AudioRecord;
+import android.media.MediaRecorder;
+import android.util.Log;
+
+import android.os.Handler;
+import  android.os.Message;
+
+/**
+ * A thread/audio track based audio synth.
+ */
+public class NativeAudioThread extends Thread {
+
+    public boolean isRunning = false;
+    double twoPi = 6.28318530718;
+
+    public int mSessionId;
+
+    public double[] mvSamples; //captured samples
+    int mSamplesIndex;
+
+    private final int mSecondsToRun = 2;
+    public int mSamplingRate = 48000;
+    private int mChannelConfigIn = AudioFormat.CHANNEL_IN_MONO;
+    private int mAudioFormat = AudioFormat.ENCODING_PCM_16BIT;
+
+    int mMinPlayBufferSizeInBytes = 0;
+    int mMinRecordBuffSizeInBytes = 0;
+    private int mChannelConfigOut = AudioFormat.CHANNEL_OUT_MONO;
+
+    int mMicSource = 0;
+
+//    private double [] samples = new double[50000];
+
+    boolean isPlaying = false;
+    private Handler mMessageHandler;
+    boolean isDestroying = false;
+    boolean hasDestroyingErrors = false;
+
+    static final int NATIVE_AUDIO_THREAD_MESSAGE_REC_STARTED = 892;
+    static final int NATIVE_AUDIO_THREAD_MESSAGE_REC_ERROR = 893;
+    static final int NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE = 894;
+    static final int NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE_ERRORS = 895;
+
+    public void setParams(int samplingRate, int playBufferInBytes, int recBufferInBytes,
+            int micSource) {
+        mSamplingRate = samplingRate;
+        mMinPlayBufferSizeInBytes = playBufferInBytes;
+        mMinRecordBuffSizeInBytes = recBufferInBytes;
+        mMicSource = micSource;
+    }
+
+    //JNI load
+    static {
+        try {
+            System.loadLibrary("audioloopback_jni");
+        } catch (UnsatisfiedLinkError e) {
+            log("Error loading loopback JNI library");
+            e.printStackTrace();
+        }
+
+        /* TODO: gracefully fail/notify if the library can't be loaded */
+    }
+
+    //jni calls
+    public native long slesInit(int samplingRate, int frameCount, int micSource);
+    public native int slesProcessNext(long sles_data, double[] samples, long offset);
+    public native int slesDestroy(long sles_data);
+
+    public void run() {
+
+        setPriority(Thread.MAX_PRIORITY);
+        isRunning = true;
+
+        //erase output buffer
+        if (mvSamples != null)
+            mvSamples = null;
+
+        //resize
+        int nNewSize = (int)(1.1* mSamplingRate * mSecondsToRun ); //10% more just in case
+        mvSamples = new double[nNewSize];
+        mSamplesIndex = 0; //reset index
+
+        //clear samples
+        for (int i=0; i<nNewSize; i++) {
+            mvSamples[i] = 0;
+        }
+
+        //start playing
+        isPlaying = true;
+
+
+        log(" Started capture test");
+        if (mMessageHandler != null) {
+            Message msg = Message.obtain();
+            msg.what = NATIVE_AUDIO_THREAD_MESSAGE_REC_STARTED;
+            mMessageHandler.sendMessage(msg);
+        }
+
+
+
+        log(String.format("about to init, sampling rate: %d, buffer:%d", mSamplingRate,
+                mMinPlayBufferSizeInBytes/2 ));
+        long sles_data = slesInit(mSamplingRate, mMinPlayBufferSizeInBytes/2, mMicSource);
+        log(String.format("sles_data = 0x%X",sles_data));
+
+        if (sles_data == 0 ) {
+            log(" ERROR at JNI initialization");
+            if (mMessageHandler != null) {
+                Message msg = Message.obtain();
+                msg.what = NATIVE_AUDIO_THREAD_MESSAGE_REC_ERROR;
+                mMessageHandler.sendMessage(msg);
+            }
+        }  else {
+
+            //wait a little bit...
+            try {
+                sleep(10); //just to let it start properly?
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+
+
+            mSamplesIndex = 0;
+            int totalSamplesRead = 0;
+            long offset = 0;
+            for (int ii = 0; ii < mSecondsToRun; ii++) {
+                log(String.format("block %d...", ii));
+                int samplesRead = slesProcessNext(sles_data, mvSamples,offset);
+                totalSamplesRead += samplesRead;
+
+                offset += samplesRead;
+                log(" [" + ii + "] jni samples read:" + samplesRead + "  currentOffset:" + offset);
+            }
+
+            log(String.format(" samplesRead: %d, sampleOffset:%d", totalSamplesRead, offset));
+            log(String.format("about to destroy..."));
+
+            runDestroy(sles_data);
+
+            int maxTry = 20;
+            int tryCount = 0;
+            //isDestroying = true;
+            while (isDestroying) {
+
+                try {
+                    sleep(40);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+
+                tryCount++;
+
+                log("destroy try: " + tryCount);
+
+                if (tryCount >= maxTry) {
+                    hasDestroyingErrors = true;
+                    log("WARNING: waited for max time to properly destroy JNI.");
+                    break;
+                }
+            }
+            log(String.format("after destroying. TotalSamplesRead = %d", totalSamplesRead));
+
+            if (totalSamplesRead==0)
+            {
+                hasDestroyingErrors = true;
+            }
+
+            endTest();
+        }
+    }
+
+    public void setMessageHandler(Handler messageHandler) {
+        mMessageHandler = messageHandler;
+    }
+
+    private void runDestroy(final long sles_data ) {
+        isDestroying = true;
+
+        //start thread
+
+        final long local_sles_data = sles_data;
+        ////
+        Thread thread = new Thread(new Runnable() {
+            public void run() {
+                isDestroying = true;
+                log("**Start runnable destroy");
+
+                int status = slesDestroy(local_sles_data);
+                log(String.format("**End runnable destroy sles delete status: %d", status));
+                isDestroying = false;
+            }
+        });
+
+        thread.start();
+
+
+
+        log("end of runDestroy()");
+
+
+    }
+
+    public void togglePlay() {
+
+    }
+
+    public void runTest() {
+
+
+    }
+
+   public void endTest() {
+       log("--Ending capture test--");
+       isPlaying = false;
+
+
+       if (mMessageHandler != null) {
+           Message msg = Message.obtain();
+           if (hasDestroyingErrors)
+               msg.what = NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE_ERRORS;
+           else
+               msg.what = NATIVE_AUDIO_THREAD_MESSAGE_REC_COMPLETE;
+           mMessageHandler.sendMessage(msg);
+       }
+
+   }
+
+    public void finish() {
+
+        if (isRunning) {
+            isRunning = false;
+            try {
+                sleep(20);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private static void log(String msg) {
+        Log.v("Loopback", msg);
+    }
+
+    double [] getWaveData () {
+        return mvSamples;
+    }
+
+}  //end thread.
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/SoundPlayerObject.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/SoundPlayerObject.java
new file mode 100644
index 0000000..23b71c0
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/SoundPlayerObject.java
@@ -0,0 +1,215 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import android.content.Context;
+import android.media.AudioFormat;
+import android.media.AudioManager;
+import android.media.AudioTrack;
+import android.media.MediaPlayer;
+import android.net.Uri;
+import android.net.rtp.AudioStream;
+import android.util.Log;
+
+import com.android.cts.verifier.audio.wavelib.PipeShort;
+
+import java.io.IOException;
+
+public class SoundPlayerObject extends Thread {
+    private static final String LOGTAG = "SoundPlayerObject";
+    private MediaPlayer mMediaPlayer;
+    private boolean isInitialized = false;
+    private boolean isRunning = false;
+
+    public PipeShort mPipe = new PipeShort(65536);
+    private short[] mAudioShortArray;
+
+    public AudioTrack mAudioTrack;
+    public int mSamplingRate = 48000;
+    private int mChannelConfigOut = AudioFormat.CHANNEL_OUT_MONO;
+    private int mAudioFormat = AudioFormat.ENCODING_PCM_16BIT;
+    int mMinPlayBufferSizeInBytes = 0;
+    int mMinBufferSizeInSamples = 0;
+
+    private int mStreamType = AudioManager.STREAM_MUSIC;
+    private int mResId = -1;
+    private boolean mUseMediaPlayer = true;
+    private float mBalance = 0.5f; //0 left, 1 right
+
+    public int getCurrentResId() {
+        return mResId;
+    }
+
+    public int getStreamType () {
+        return mStreamType;
+    }
+
+    public void run() {
+        setPriority(Thread.MAX_PRIORITY);
+        isRunning = true;
+        while (isRunning) {
+
+            if (!mUseMediaPlayer && isInitialized && isPlaying()) {
+                int valuesAvailable = mPipe.availableToRead();
+                if (valuesAvailable > 0) {
+
+                    int valuesOfInterest = valuesAvailable;
+                    if (mMinBufferSizeInSamples < valuesOfInterest) {
+                        valuesOfInterest = mMinBufferSizeInSamples;
+                    }
+                    mPipe.read(mAudioShortArray, 0,valuesOfInterest);
+                    //inject into output.
+                    mAudioTrack.write(mAudioShortArray, 0, valuesOfInterest);
+                }
+            } else {
+                try {
+                    sleep(10);
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+    }
+
+    public void setBalance(float balance) {
+        mBalance = balance;
+        if (mUseMediaPlayer) {
+            if (mMediaPlayer != null) {
+                float left = Math.min(2.0f * (1.0f - mBalance), 1.0f);
+                float right = Math.min(2.0f * mBalance, 1.0f);
+                mMediaPlayer.setVolume(left, right);
+                log(String.format("Setting balance to %f", mBalance));
+            }
+        }
+    }
+
+    public void setStreamType(int streamType) {
+        mStreamType = streamType;
+    }
+
+    public void rewind() {
+        if (mUseMediaPlayer) {
+            if (mMediaPlayer != null) {
+                mMediaPlayer.seekTo(0);
+            }
+        }
+    }
+
+    public void setSoundWithResId(Context context, int resId) {
+        boolean playing = isPlaying();
+        //release player
+        releasePlayer();
+        mResId = resId;
+        if (mUseMediaPlayer) {
+            mMediaPlayer = new MediaPlayer();
+            try {
+                log("opening resource with stream type: " + mStreamType);
+                mMediaPlayer.setAudioStreamType(mStreamType);
+                mMediaPlayer.setDataSource(context.getApplicationContext(),
+                        Uri.parse("android.resource://com.android.cts.verifier/" + resId));
+                mMediaPlayer.prepare();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+            mMediaPlayer.setLooping(true);
+            setBalance(mBalance);
+        } else {
+            mMinPlayBufferSizeInBytes = AudioTrack.getMinBufferSize(mSamplingRate,
+                    mChannelConfigOut, mAudioFormat);
+
+            mMinBufferSizeInSamples = mMinPlayBufferSizeInBytes / 2;
+            mAudioShortArray = new short[mMinBufferSizeInSamples * 4];
+
+            mAudioTrack = new AudioTrack(mStreamType,
+                    mSamplingRate,
+                    mChannelConfigOut,
+                    mAudioFormat,
+                    mMinPlayBufferSizeInBytes,
+                    AudioTrack.MODE_STREAM /* FIXME runtime test for API level 9 ,
+                mSessionId */);
+            mPipe.flush();
+            isInitialized = true;
+        }
+
+        log("done preparing media player");
+        if (playing)
+            play(true); //start playing if it was playing before
+    }
+
+    public boolean isPlaying() {
+        boolean result = false;
+        if (mUseMediaPlayer) {
+            if (mMediaPlayer != null) {
+                result = mMediaPlayer.isPlaying();
+            }
+        } else {
+            if (mAudioTrack != null) {
+                result = mAudioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING;
+            }
+        }
+        return result;
+    }
+
+    public void play(boolean play) {
+        if (mUseMediaPlayer) {
+            if (mMediaPlayer != null) {
+                if (play) {
+                    mMediaPlayer.start();
+                } else {
+                    mMediaPlayer.pause();
+                }
+            }
+        } else {
+            if (mAudioTrack != null && isInitialized) {
+                if (play) {
+                    mPipe.flush();
+                    mAudioTrack.flush();
+                    mAudioTrack.play();
+                } else {
+                    mAudioTrack.pause();
+                }
+            }
+        }
+    }
+
+    public void finish() {
+        play(false);
+        releasePlayer();
+    }
+
+    private void releasePlayer() {
+        if (mMediaPlayer != null) {
+            mMediaPlayer.stop();
+            mMediaPlayer.release();
+            mMediaPlayer = null;
+        }
+
+        if (mAudioTrack != null) {
+            mAudioTrack.stop();
+            mAudioTrack.release();
+            mAudioTrack = null;
+        }
+        isInitialized = false;
+    }
+
+    /*
+       Misc
+    */
+    private static void log(String msg) {
+        Log.v(LOGTAG, msg);
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/UsbMicrophoneTester.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/UsbMicrophoneTester.java
new file mode 100644
index 0000000..c0b6b6a
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/UsbMicrophoneTester.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio;
+
+import android.content.Context;
+
+import android.hardware.usb.UsbAccessory;
+import android.hardware.usb.UsbConstants;
+import android.hardware.usb.UsbDevice;
+import android.hardware.usb.UsbInterface;
+import android.hardware.usb.UsbManager;
+
+import java.util.HashMap;
+import java.util.Iterator;
+
+public class UsbMicrophoneTester {
+
+    public static String getUSBDeviceListString(Context context) {
+        UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
+        StringBuilder sb = new StringBuilder();
+        HashMap<String, UsbDevice> devicelist = manager.getDeviceList();
+        for(UsbDevice usbDevice : devicelist.values()) {
+            sb.append("Model    : " + usbDevice.getDeviceName() + "\n");
+            sb.append(" Id      : " + usbDevice.getDeviceId() + "\n");
+            sb.append(" Class   : " + usbDevice.getDeviceClass() + "\n");
+            sb.append(" Prod.Id : " + usbDevice.getProductId() + "\n");
+            sb.append(" Vendor.Id : " + usbDevice.getVendorId() + "\n");
+            int iCount = usbDevice.getInterfaceCount();
+            for (int i = 0; i < iCount; i++) {
+                UsbInterface usbInterface = usbDevice.getInterface(i);
+                sb.append("    Interface " + i + " :\n");
+                sb.append("     Class: " + usbInterface.getInterfaceClass() + "\n");
+            }
+        }
+        return sb.toString();
+    }
+
+    public static boolean getIsMicrophoneConnected(Context context) {
+        UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
+        StringBuilder sb = new StringBuilder();
+        HashMap<String, UsbDevice> devicelist = manager.getDeviceList();
+        for(UsbDevice usbDevice : devicelist.values()) {
+            int iCount = usbDevice.getInterfaceCount();
+            for (int i = 0; i < iCount; i++) {
+                UsbInterface usbInterface = usbDevice.getInterface(i);
+                if (usbInterface.getInterfaceClass() == UsbConstants.USB_CLASS_AUDIO) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferBase.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferBase.java
new file mode 100644
index 0000000..0a8bdde
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferBase.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+public abstract class DspBufferBase {
+    private int mSize;
+
+    public DspBufferBase() {
+        setSize(0);
+    }
+
+    public DspBufferBase(int size) {
+        setSize(size);
+    }
+
+    public int getSize() {
+        return mSize;
+    }
+
+    public void setSize(int size) {
+        mSize = size;
+    }
+
+    public abstract void setValue(int index, double value);
+
+    public abstract void setValues(int index, double... values);
+
+    @Override
+    public String toString() {
+        return String.format("Size: %d", mSize);
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferComplex.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferComplex.java
new file mode 100644
index 0000000..2b71343
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferComplex.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+public class DspBufferComplex extends DspBufferBase {
+    public double[] mReal;
+    public double[] mImag;
+
+    public DspBufferComplex(int size) {
+        super(size);
+    }
+
+    @Override
+    public void setSize(int size) {
+        if (size == getSize()) {
+            return;
+        }
+        mReal = new double[size];
+        mImag = new double[size];
+        super.setSize(size);
+    }
+
+    // Warning, these methods don't check for bounds!
+    @Override
+    public void setValues(int index, double... values) {
+        mReal[index] = values[0];
+        mImag[index] = values[1];
+    }
+
+    @Override
+    public void setValue(int index, double value) {
+        mReal[index] = value;
+        mImag[index] = 0;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        int size = getSize();
+        sb.append(String.format("Size: %d { ", size));
+        for (int i = 0; i < size; i++) {
+            sb.append(String.format("(%.3f, %3f) ", mReal[i], mImag[i]));
+        }
+        sb.append("}");
+        return sb.toString();
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferDouble.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferDouble.java
new file mode 100644
index 0000000..1b75da6
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferDouble.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+public class DspBufferDouble extends DspBufferBase {
+    public double[] mData;
+
+    public DspBufferDouble(int size) {
+        super(size);
+    }
+
+    @Override
+    public void setSize(int size) {
+        if (size == getSize()) {
+            return;
+        }
+        mData = new double[size];
+        super.setSize(size);
+    }
+
+    // Warning, these methods don't check for bounds!
+    @Override
+    public void setValues(int index, double... values) {
+        mData[index] = values[0];
+    }
+
+    @Override
+    public void setValue(int index, double value) {
+        mData[index] = value;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        int size = getSize();
+        sb.append(String.format("Size: %d { ", size));
+        int i = 0;
+        for (; i < size - 1; i++) {
+            sb.append(String.format("%.3f, ", mData[i]));
+        }
+        for(; i < size; i++) {
+            sb.append(String.format("%.3f", mData[i]));
+        }
+        sb.append(" }");
+        return sb.toString();
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferMath.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferMath.java
new file mode 100644
index 0000000..a9cbbd0
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspBufferMath.java
@@ -0,0 +1,329 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+import android.util.Log;
+
+public class DspBufferMath {
+    private static final String TAG = "DspBufferMath";
+    public static final int OPERANDS_TYPE_UNKNOWN  = -1;
+    public static final int OPERANDS_TYPE_REAL     = 0;
+    public static final int OPERANDS_TYPE_COMPLEX  = 1;
+    public static final int OPERANDS_TYPE_MIXED    = 2;
+
+    public static final int MATH_RESULT_UNDEFINED  = -1;
+    public static final int MATH_RESULT_SUCCESS    = 0;
+    public static final int MATH_RESULT_ERROR      = 1;
+
+    static private<T extends DspBufferBase> int estimateOperandsType(T a, T b) {
+        if (a instanceof DspBufferComplex) {
+            if (b instanceof DspBufferComplex) {
+                return OPERANDS_TYPE_COMPLEX;
+            } else if (b instanceof DspBufferDouble) {
+                return OPERANDS_TYPE_MIXED;
+            }
+        } else if (a instanceof DspBufferDouble) {
+            if (b instanceof DspBufferComplex) {
+                return OPERANDS_TYPE_MIXED;
+            } else if (b instanceof DspBufferDouble) {
+                return OPERANDS_TYPE_REAL;
+            }
+        }
+        return OPERANDS_TYPE_UNKNOWN;
+    }
+
+    /**
+     * adds r = a + b; element by element
+     *
+     * If the result is double vector, the imaginary part of complex operations is ignored.
+     */
+    static public <T extends DspBufferBase> int add(T r, T a, T b) {
+        int size = Math.min(a.getSize(), b.getSize());
+        r.setSize(size);
+
+        T x = a;
+        T y = b;
+        int opType = estimateOperandsType(a, b);
+
+        if (opType == OPERANDS_TYPE_MIXED) {
+            if (a instanceof  DspBufferDouble)  {
+                x = b; //Complex first
+                y = a;
+            }
+        }
+
+        if (opType == OPERANDS_TYPE_UNKNOWN) {
+            return MATH_RESULT_UNDEFINED;
+        }
+
+        if (r instanceof DspBufferComplex) {
+            switch (opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] =
+                                ((DspBufferDouble) x).mData[i] + ((DspBufferDouble) y).mData[i];
+                        ((DspBufferComplex) r).mImag[i] = 0;
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] =
+                                ((DspBufferComplex) x).mReal[i] + ((DspBufferComplex) y).mReal[i];
+                        ((DspBufferComplex) r).mImag[i] =
+                                ((DspBufferComplex) x).mImag[i] + ((DspBufferComplex) y).mImag[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] =
+                                ((DspBufferComplex) x).mReal[i] + ((DspBufferDouble) y).mData[i];
+                        ((DspBufferComplex) r).mImag[i] = ((DspBufferComplex) x).mImag[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        } else if (r instanceof DspBufferDouble) {
+            switch (opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] =
+                                ((DspBufferDouble) x).mData[i] + ((DspBufferDouble) y).mData[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] =
+                                ((DspBufferComplex) x).mReal[i] + ((DspBufferComplex) y).mReal[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] =
+                                ((DspBufferComplex) x).mReal[i] + ((DspBufferDouble) y).mData[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        }
+        return MATH_RESULT_ERROR;
+    }
+
+    /**
+     * mult r = a * b; element by element
+     */
+    static public <T extends DspBufferBase> int mult(T r, T a, T b) {
+        int size = Math.min(a.getSize(), b.getSize());
+        r.setSize(size);
+
+        T x = a;
+        T y = b;
+        int opType = estimateOperandsType(a, b);
+
+        if (opType == OPERANDS_TYPE_MIXED) {
+            if (a instanceof  DspBufferDouble)  {
+                x = b; //Complex first
+                y = a;
+            }
+        }
+
+        if (opType == OPERANDS_TYPE_UNKNOWN) {
+            return MATH_RESULT_UNDEFINED;
+        }
+
+        if (r instanceof DspBufferComplex) {
+            switch (opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] =
+                                ((DspBufferDouble) x).mData[i] * ((DspBufferDouble) y).mData[i];
+                        ((DspBufferComplex) r).mImag[i] = 0;
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        double A = ((DspBufferComplex) x).mReal[i];
+                        double B = ((DspBufferComplex) x).mImag[i];
+                        double C = ((DspBufferComplex) y).mReal[i];
+                        double D = ((DspBufferComplex) y).mImag[i];
+                        ((DspBufferComplex) r).mReal[i] = (C * A) - (B * D);
+                        ((DspBufferComplex) r).mImag[i] = (C * B) + (A * D);
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        double A = ((DspBufferComplex) x).mReal[i];
+                        double B = ((DspBufferComplex) x).mImag[i];
+                        double C = ((DspBufferDouble) y).mData[i];
+                        //double D = 0;
+                        ((DspBufferComplex) r).mReal[i] = C * A;
+                        ((DspBufferComplex) r).mImag[i] = C * B;
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        } else if (r instanceof DspBufferDouble) {
+            switch (opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] =
+                                ((DspBufferDouble) x).mData[i] * ((DspBufferDouble) y).mData[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        double A = ((DspBufferComplex) x).mReal[i];
+                        double B = ((DspBufferComplex) x).mImag[i];
+                        double C = ((DspBufferComplex) y).mReal[i];
+                        double D = ((DspBufferComplex) y).mImag[i];
+                        ((DspBufferDouble) r).mData[i] = (C * A) - (B * D);
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        double A = ((DspBufferComplex) x).mReal[i];
+                        double B = ((DspBufferComplex) x).mImag[i];
+                        double C = ((DspBufferDouble) y).mData[i];
+                        //double D = 0;
+                        ((DspBufferDouble) r).mData[i] = C * A;
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        }
+        return MATH_RESULT_ERROR;
+    }
+
+    /**
+     * mult r = a * v; element by element
+     */
+    static public <T extends DspBufferBase> int mult(T r, T a, double v) {
+        int size = a.getSize();
+        r.setSize(size);
+
+        T x = a;
+        int opType = estimateOperandsType(r, a);
+
+        if (opType == OPERANDS_TYPE_UNKNOWN) {
+            return MATH_RESULT_UNDEFINED;
+        }
+
+        if (r instanceof DspBufferComplex) {
+            switch (opType) {
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] = ((DspBufferDouble) x).mData[i] * v;
+                        ((DspBufferComplex) r).mImag[i] = 0;
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] = ((DspBufferComplex) x).mReal[i] * v;
+                        ((DspBufferComplex) r).mImag[i] = ((DspBufferComplex) x).mImag[i] * v;
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        } else if (r instanceof DspBufferDouble) {
+            switch (opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] = ((DspBufferDouble) x).mData[i] * v;
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] = ((DspBufferComplex) x).mReal[i] * v;
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        }
+        return MATH_RESULT_ERROR;
+    }
+
+    /**
+     * set r = a ; element by element
+     */
+    static public <T extends DspBufferBase> int set(T r, T a) {
+        int size = a.getSize();
+        r.setSize(size);
+
+        T x = a;
+        int opType = estimateOperandsType(r, a);
+
+        if (opType == OPERANDS_TYPE_UNKNOWN) {
+            return MATH_RESULT_UNDEFINED;
+        }
+
+        if (r instanceof DspBufferComplex) {
+            switch (opType) {
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] = ((DspBufferDouble) x).mData[i];
+                        ((DspBufferComplex) r).mImag[i] = 0;
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_COMPLEX:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferComplex) r).mReal[i] = ((DspBufferComplex) x).mReal[i];
+                        ((DspBufferComplex) r).mImag[i] = ((DspBufferComplex) x).mImag[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        } else if (r instanceof DspBufferDouble) {
+            switch(opType) {
+                case OPERANDS_TYPE_REAL:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] = ((DspBufferDouble) x).mData[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+                case OPERANDS_TYPE_MIXED:
+                    for (int i = 0; i < size; i++) {
+                        ((DspBufferDouble) r).mData[i] = ((DspBufferComplex) x).mReal[i];
+                    }
+                    return MATH_RESULT_SUCCESS;
+            }
+        }
+        return MATH_RESULT_ERROR;
+    }
+
+
+    /**
+     * set r = v ; all elements the same
+     * It keeps the size of the return vector
+     */
+    static public <T extends DspBufferBase> int set(T r, double ...values) {
+        int size = r.getSize();
+
+        double a = 0;
+        double b = 0;
+        if (values.length > 0) {
+            a = values[0];
+        }
+        if (values.length > 1) {
+            b = values[1];
+        }
+
+        if (r instanceof DspBufferComplex) {
+            for (int i = 0; i < size; i++) {
+                ((DspBufferComplex) r).mReal[i] = a;
+                ((DspBufferComplex) r).mImag[i] = b;
+            }
+            return MATH_RESULT_SUCCESS;
+        } else if (r instanceof DspBufferDouble) {
+            for (int i = 0; i < size; i++) {
+                ((DspBufferDouble) r).mData[i] = a;
+            }
+            return MATH_RESULT_SUCCESS;
+        }
+        return MATH_RESULT_ERROR;
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspFftServer.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspFftServer.java
new file mode 100644
index 0000000..09337f1
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspFftServer.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+public class DspFftServer {
+    private int mN = 0;
+    private int mOrder = 0;
+
+    DspBufferDouble mCos;
+    DspBufferDouble mSin;
+    public boolean isInitialized = false;
+
+    public DspFftServer(int size) {
+        init(size);
+    }
+
+    public boolean init(int size) {
+        boolean status = false;
+        mN=size;
+
+        mOrder = (int) (Math.log(mN) / Math.log(2));
+        if (mN == (1 << mOrder)) {
+            mCos = new DspBufferDouble(mN / 2);
+            mSin = new DspBufferDouble(mN / 2);
+            for (int i = 0; i < mN / 2; i++) {
+                mCos.mData[i] = Math.cos(-2 * Math.PI * i / mN);
+                mSin.mData[i] = Math.sin(-2 * Math.PI * i / mN);
+            }
+            status = true;
+        } else {
+            mN = 0;
+            throw new RuntimeException("FFT must be power of 2");
+        }
+        isInitialized = status;
+        return status;
+    }
+
+    public void fft(DspBufferComplex r, int sign) {
+        int ii, jj, kk, n1, n2, aa;
+        double cc, ss, t1, t2;
+
+        // Bit-reverse
+        jj = 0;
+        n2 = mN / 2;
+        for (ii = 1; ii < mN - 1; ii++) {
+            n1 = n2;
+            while (jj >= n1) {
+                jj = jj - n1;
+                n1 = n1 / 2;
+            }
+            jj = jj + n1;
+
+            if (ii < jj) {
+                t1 =  r.mReal[ii];
+                r.mReal[ii] = r.mReal[jj];
+                r.mReal[jj] = t1;
+                t1 = r.mImag[ii];
+                r.mImag[ii] = r.mImag[jj];
+                r.mImag[jj] = t1;
+            }
+        }
+
+        // FFT
+        n1 = 0;
+        n2 = 1;
+        for (ii = 0; ii < mOrder; ii++) {
+            n1 = n2;
+            n2 = n2 + n2;
+            aa = 0;
+
+            for (jj = 0; jj < n1; jj++) {
+                cc = mCos.mData[aa];
+                ss = sign * mSin.mData[aa];
+                aa += 1 << (mOrder - ii - 1);
+                for (kk = jj; kk < mN; kk = kk + n2) {
+                    t1 = cc * r.mReal[kk + n1] - ss * r.mImag[kk + n1];
+                    t2 = ss * r.mReal[kk + n1] + cc * r.mImag[kk + n1];
+                    r.mReal[kk + n1] = r.mReal[kk] - t1;
+                    r.mImag[kk + n1] = r.mImag[kk] - t2;
+                    r.mReal[kk] = r.mReal[kk] + t1;
+                    r.mImag[kk] = r.mImag[kk] + t2;
+                }
+            }
+        }
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspWindow.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspWindow.java
new file mode 100644
index 0000000..3ccca43
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/DspWindow.java
@@ -0,0 +1,201 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+public class DspWindow {
+    public DspBufferDouble mBuffer;
+    private int mWindowType = WINDOW_RECTANGULAR;
+    private int mSize;
+    private int mOverlap;
+
+    private static final double TWOPI = Math.PI * 2;
+
+    public static final int WINDOW_RECTANGULAR = 0;
+    public static final int WINDOW_TRIANGULAR = 1;
+    public static final int WINDOW_TRIANGULAR_FLAT_TOP = 2;
+    public static final int WINDOW_HAMMING = 3;
+    public static final int WINDOW_HAMMING_FLAT_TOP = 4;
+    public static final int WINDOW_HANNING = 5;
+    public static final int WINDOW_HANNING_FLAT_TOP = 6;
+
+    public DspWindow(int windowType, int size, int overlap) {
+        init(windowType, size, overlap);
+    }
+
+    public DspWindow(int windowType, int size)  {
+        init(windowType, size, size / 2);
+    }
+
+    public void init(int windowType, int size, int overlap) {
+        if (size > 0 && overlap > 0) {
+            mSize = size;
+            mOverlap = overlap;
+            if (mOverlap > mSize / 2) {
+                mOverlap = mSize / 2;
+            }
+
+            mBuffer = new DspBufferDouble(mSize);
+            if (fillWindow(mBuffer, windowType, mOverlap)) {
+                mWindowType = windowType;
+            }
+        }
+    }
+
+    public void scale(double scale) {
+        DspBufferMath.mult(mBuffer, mBuffer, scale);
+    }
+
+    public static boolean fillWindow(DspBufferDouble r, int type, int overlap) {
+        boolean status = false;
+        int size = r.getSize();
+        if (overlap > size / 2) {
+            overlap = size / 2;
+        }
+
+        switch(type) {
+            case WINDOW_RECTANGULAR:
+                status = fillRectangular(r);
+                break;
+            case WINDOW_TRIANGULAR:
+                status = fillTriangular(r, size / 2);
+                break;
+            case WINDOW_TRIANGULAR_FLAT_TOP:
+                status = fillTriangular(r, overlap);
+                break;
+            case WINDOW_HAMMING:
+                status = fillHamming(r, size / 2);
+                break;
+            case WINDOW_HAMMING_FLAT_TOP:
+                status = fillHamming(r, overlap);
+                break;
+            case WINDOW_HANNING:
+                status = fillHanning(r, size / 2);
+                break;
+            case WINDOW_HANNING_FLAT_TOP:
+                status = fillHanning(r, overlap);
+                break;
+        }
+        return status;
+    }
+
+    private static boolean fillRectangular(DspBufferDouble r) {
+        if (DspBufferMath.set(r, 1.0) == DspBufferMath.MATH_RESULT_SUCCESS) {
+            return true;
+        }
+        return false;
+    }
+
+    private static boolean fillTriangular(DspBufferDouble b, int overlap) {
+        int size = b.getSize();
+        if (overlap > size / 2) {
+            overlap = size / 2;
+        }
+
+        double value;
+        //ramp up
+        int i = 0;
+        if (overlap > 0) {
+            for (i = 0; i < overlap; i++) {
+                value = (2.0 * i + 1) / (2 * overlap);
+                b.mData[i] = value;
+            }
+        }
+
+        //flat top
+        for (; i < size - overlap; i++) {
+            b.mData[i] = 1.0;
+        }
+
+        //ramp down
+        if (overlap > 0) {
+            for (; i < size; i++) {
+                value = (2.0 * (size - i) - 1) / (2 * overlap);
+                b.mData[i] = value;
+            }
+        }
+        return true;
+    }
+
+    private static boolean fillHamming(DspBufferDouble b, int overlap) {
+        int size = b.getSize();
+        if (overlap > size / 2)
+            overlap = size / 2;
+
+        //create window, then copy
+        double value;
+
+        int twoOverlap = 2 * overlap;
+        //ramp up
+        int i = 0;
+        if (overlap > 0) {
+            for (i = 0; i < overlap; i++) {
+                value = 0.54 - 0.46 * Math.cos(TWOPI * i / (twoOverlap - 1));
+                b.mData[i] = value;
+            }
+        }
+
+        //flat top
+        for (; i < size - overlap; i++) {
+            b.mData[i] = 1.0;
+        }
+
+        //ramp down
+        int k;
+        if (overlap > 0) {
+            for (; i < size; i++) {
+                k = i - (size - 2 * overlap);
+                value = 0.54 - 0.46 * Math.cos(TWOPI * k / (twoOverlap - 1));
+                b.mData[i] = value;
+            }
+        }
+        return true;
+    }
+
+    private static boolean fillHanning(DspBufferDouble b, int overlap) {
+        int size = b.getSize();
+        if (overlap > size / 2)
+            overlap = size / 2;
+
+        //create window, then copy
+        double value;
+
+        int twoOverlap = 2*overlap;
+        //ramp up
+        int i = 0;
+        if (overlap > 0) {
+            for (i = 0; i < overlap; i++) {
+                value = 0.5 * (1.0 - Math.cos(TWOPI * i / (twoOverlap - 1)));
+                b.mData[i] = value;
+            }
+        }
+
+        //flat top
+        for (; i < size - overlap; i++) {
+            b.mData[i] = 1.0;
+        }
+
+        //ramp down
+        if (overlap > 0) {
+            for (; i < size; i++) {
+                int k = i - (size - 2 * overlap);
+                value = 0.5 * (1.0 - Math.cos(TWOPI * k / (twoOverlap - 1)));
+                b.mData[i] = value;
+            }
+        }
+        return true;
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/PipeShort.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/PipeShort.java
new file mode 100644
index 0000000..83b171f
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/PipeShort.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+// Non-blocking pipe supports a single writer and single reader.
+// The write side of a pipe permits overruns; flow control is the caller's responsibility.
+
+public class PipeShort {
+    private int mFront;
+    private int mRear;
+    private short mBuffer[];
+    private volatile int mVolatileRear; // written by write(), read by read()
+    private int mMaxValues;
+    private int mBytesOverrun;
+    private int mOverruns;
+    public static final int OVERRUN = -2;
+
+    // maxBytes will be rounded up to a power of 2, and all slots are available. Must be >= 2.
+    public PipeShort(int maxValues)
+    {
+        mMaxValues = roundup(maxValues);
+        mBuffer = new short[mMaxValues];
+    }
+
+    // buffer must != null.
+    // offset must be >= 0.
+    // count is maximum number of bytes to copy, and must be >= 0.
+    // offset + count must be <= buffer.length.
+    // Returns actual number of bytes copied >= 0.
+    public int write(short[] buffer, int offset, int count)
+    {
+        int rear = mRear & (mMaxValues - 1);
+        int written = mMaxValues - rear;
+        if (written > count) {
+            written = count;
+        }
+        System.arraycopy(buffer, offset, mBuffer, rear, written);
+        if (rear + written == mMaxValues) {
+            if ((count -= written) > rear) {
+                count = rear;
+            }
+            if (count > 0) {
+                System.arraycopy(buffer, offset + written, mBuffer, 0, count);
+                written += count;
+            }
+        }
+        mRear += written;
+        mVolatileRear = mRear;
+        return written;
+    }
+
+    public int availableToRead()
+    {
+        int rear = mVolatileRear;
+        int avail = rear - mFront;
+        if (avail > mMaxValues) {
+            // Discard 1/16 of the most recent data in pipe to avoid another overrun immediately
+            int oldFront = mFront;
+            mFront = rear - mMaxValues + (mMaxValues >> 4);
+            mBytesOverrun += mFront - oldFront;
+            ++mOverruns;
+            return OVERRUN;
+        }
+        return avail;
+    }
+
+    // buffer must != null.
+    // offset must be >= 0.
+    // count is maximum number of bytes to copy, and must be >= 0.
+    // offset + count must be <= buffer.length.
+    // Returns actual number of bytes copied >= 0.
+    public int read(short[] buffer, int offset, int count)
+    {
+        int avail = availableToRead();
+        if (avail <= 0) {
+            return avail;
+        }
+        // An overrun can occur from here on and be silently ignored,
+        // but it will be caught at next read()
+        if (count > avail) {
+            count = avail;
+        }
+        int front = mFront & (mMaxValues - 1);
+        int red = mMaxValues - front;
+        if (red > count) {
+            red = count;
+        }
+        // In particular, an overrun during the System.arraycopy will result in reading corrupt data
+        System.arraycopy(mBuffer, front, buffer, offset, red);
+        // We could re-read the rear pointer here to detect the corruption, but why bother?
+        if (front + red == mMaxValues) {
+            if ((count -= red) > front) {
+                count = front;
+            }
+            if (count > 0) {
+                System.arraycopy(mBuffer, 0, buffer, offset + red, count);
+                red += count;
+            }
+        }
+        mFront += red;
+        return red;
+    }
+
+    public void flush()
+    {
+        mRear = mFront;
+        mVolatileRear = mFront;
+    }
+
+    // Round up to the next highest power of 2
+    private static int roundup(int v)
+    {
+        // Integer.numberOfLeadingZeros() returns 32 for zero input
+        if (v == 0) {
+            v = 1;
+        }
+        int lz = Integer.numberOfLeadingZeros(v);
+        int rounded = 0x80000000 >>> lz;
+        // 0x800000001 and higher are actually rounded _down_ to prevent overflow
+        if (v > rounded && lz > 0) {
+            rounded <<= 1;
+        }
+        return rounded;
+    }
+
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/VectorAverage.java b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/VectorAverage.java
new file mode 100644
index 0000000..41f0411
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/audio/wavelib/VectorAverage.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.audio.wavelib;
+
+import android.util.Log;
+
+public class VectorAverage {
+    private static final String LOGTAG = "VectorAverage";
+    private static final int mVersion = 0;
+    private double[] mData;
+    private int mValueCount = 0;
+
+    public void setData(double[] data, boolean replace) {
+        int size = data.length;
+        if (mData == null || mData.length != size) {
+            mData = new double[size];
+            mValueCount = 0;
+        }
+        if (replace || mValueCount == 0) {
+            System.arraycopy(data, 0, mData, 0, size);
+            mValueCount = 1;
+        } else {
+            for (int i = 0; i < size; i++) {
+                mData[i] += data[i];
+            }
+            mValueCount++;
+        }
+    }
+
+    public int getData(double[] data, boolean raw) {
+        int nCount = 0;
+        if (mData != null && mData.length <= data.length) {
+            nCount = mData.length;
+            if (mValueCount == 0) {
+                for (int i = 0; i < nCount; i++) {
+                    data[i] = 0;
+                }
+            } else if (!raw && mValueCount > 1) {
+                for (int i = 0; i < nCount; i++) {
+                    data[i] = mData[i] / mValueCount;
+                }
+            } else {
+                for (int i = 0; i < nCount; i++) {
+                    data[i] = mData[i];
+                }
+            }
+        }
+        return nCount;
+    }
+
+    public int getCount() {
+        return mValueCount;
+    }
+
+    public int getSize() {
+        if (mData != null) {
+            return mData.length;
+        }
+        return 0;
+    }
+
+    public void reset() {
+        mValueCount = 0;
+    }
+
+    private final String SERIALIZED_VERSION = "VECTOR_AVERAGE_VERSION";
+    private final String SERIALIZED_COUNT = "COUNT";
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+
+        //version
+        sb.append(SERIALIZED_VERSION +"="+ mVersion +"\n");
+
+        double[] data = new double[getSize()];
+        getData(data,false);
+
+        //element count
+        int nCount = data.length;
+        sb.append(SERIALIZED_COUNT + "=" + nCount +"\n");
+
+        for (int i = 0; i < nCount; i++) {
+            sb.append(String.format("%f\n",data[i]));
+        }
+
+        return sb.toString();
+    }
+
+    public boolean initFromString(String string) {
+        boolean success = false;
+
+        String[] lines = string.split(System.getProperty("line.separator"));
+
+        int lineCount = lines.length;
+        if (lineCount > 3) {
+            int nVersion = -1;
+            int nCount = -1;
+            int nIndex = 0;
+
+            //search for version:
+            while (nIndex < lineCount) {
+                String[] separated = lines[nIndex].split("=");
+                nIndex++;
+                if (separated.length > 1 && separated[0].equalsIgnoreCase(SERIALIZED_VERSION)) {
+                    nVersion = Integer.parseInt(separated[1]);
+                    break;
+                }
+            }
+
+            if (nVersion >= 0) {
+                //get count
+
+                while (nIndex < lineCount) {
+                    String[] separated = lines[nIndex].split("=");
+                    nIndex++;
+                    if (separated.length > 1 && separated[0].equalsIgnoreCase(SERIALIZED_COUNT)) {
+                        nCount = Integer.parseInt(separated[1]);
+                        break;
+                    }
+                }
+
+                if (nCount > 0 && nCount <= lineCount-2 && nCount < 20000) { //foolproof
+                    //now add nCount to the vector.
+                    double[] data = new double[nCount];
+                    int dataIndex=0;
+
+                    while (nIndex < lineCount) {
+                        double value = Double.parseDouble(lines[nIndex]);
+                        data[dataIndex++] = value;
+                        nIndex++;
+                    }
+                    setData(data, true);
+                    success = true;
+                }
+            }
+        }
+
+        return success;
+    }
+
+    private static void log(String msg) {
+        Log.v(LOGTAG, msg);
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserService.java b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserService.java
index b4a6416..5a60ad0 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserService.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth/BleAdvertiserService.java
@@ -42,7 +42,7 @@
 public class BleAdvertiserService extends Service {
 
     public static final boolean DEBUG = true;
-    public static final String TAG = "BleAdvertiseService";
+    public static final String TAG = "BleAdvertiserService";
 
     public static final int COMMAND_START_ADVERTISE = 0;
     public static final int COMMAND_STOP_ADVERTISE = 1;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
index d325b65..9c5b31d 100755
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/formats/CameraFormatsActivity.java
@@ -236,8 +236,15 @@
     public void onSurfaceTextureAvailable(SurfaceTexture surface,
             int width, int height) {
         mPreviewTexture = surface;
-        mPreviewTexWidth = width;
-        mPreviewTexHeight = height;
+        if (mFormatView.getMeasuredWidth() != width
+                || mFormatView.getMeasuredHeight() != height) {
+            mPreviewTexWidth = mFormatView.getMeasuredWidth();
+            mPreviewTexHeight = mFormatView.getMeasuredHeight();
+         } else {
+            mPreviewTexWidth = width;
+            mPreviewTexHeight = height;
+        }
+
         if (mCamera != null) {
             startPreview();
         }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
index 5b034fe..3037376 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
@@ -497,6 +497,7 @@
                         mSocketWriteQueue.clear();
                         mOpenSocket.close();
                         mOpenSocket = null;
+                        mSocketWriteRunnable.setOpenSocket(null);
                         Logt.i(TAG, "Socket disconnected");
                     }
                 } catch (java.io.IOException e) {
@@ -509,9 +510,12 @@
             Logt.i(TAG, "Socket server loop exited");
             mThreadExitFlag = true;
             try {
-                if (mOpenSocket != null) {
-                    mOpenSocket.close();
-                    mOpenSocket = null;
+                synchronized(mSocketWriteDrainLock) {
+                    if (mOpenSocket != null) {
+                        mOpenSocket.close();
+                        mOpenSocket = null;
+                        mSocketWriteRunnable.setOpenSocket(null);
+                    }
                 }
             } catch (java.io.IOException e) {
                 Logt.w(TAG, "Exception closing socket");
@@ -1152,25 +1156,34 @@
             }
 
             // Initiate the captures.
+            long maxExpTimeNs = -1;
             for (int i = 0; i < requests.size(); i++) {
+                CaptureRequest.Builder req = requests.get(i);
                 // For DNG captures, need the LSC map to be available.
                 if (mCaptureRawIsDng) {
-                    requests.get(i).set(CaptureRequest.STATISTICS_LENS_SHADING_MAP_MODE, 1);
+                    req.set(CaptureRequest.STATISTICS_LENS_SHADING_MAP_MODE, 1);
+                }
+                Long expTimeNs = req.get(CaptureRequest.SENSOR_EXPOSURE_TIME);
+                if (expTimeNs != null && expTimeNs > maxExpTimeNs) {
+                    maxExpTimeNs = expTimeNs;
                 }
 
-                CaptureRequest.Builder req = requests.get(i);
                 for (int j = 0; j < numSurfaces; j++) {
                     req.addTarget(mOutputImageReaders[j].getSurface());
                 }
                 mSession.capture(req.build(), mCaptureResultListener, mResultHandler);
             }
 
+            long timeout = TIMEOUT_CALLBACK * 1000;
+            if (maxExpTimeNs > 0) {
+                timeout += maxExpTimeNs / 1000000; // ns to ms
+            }
             // Make sure all callbacks have been hit (wait until captures are done).
             // If no timeouts are received after a timeout, then fail.
             int currentCount = mCountCallbacksRemaining.get();
             while (currentCount > 0) {
                 try {
-                    Thread.sleep(TIMEOUT_CALLBACK*1000);
+                    Thread.sleep(timeout);
                 } catch (InterruptedException e) {
                     throw new ItsException("Timeout failure", e);
                 }
@@ -1282,8 +1295,8 @@
                         CaptureRequest.REPROCESS_EFFECTIVE_EXPOSURE_FACTOR));
 
                 inputReqest.set(CaptureRequest.NOISE_REDUCTION_MODE,
-                        CaptureRequest.NOISE_REDUCTION_MODE_OFF);
-                inputReqest.set(CaptureRequest.EDGE_MODE, CaptureRequest.EDGE_MODE_OFF);
+                        CaptureRequest.NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG);
+                inputReqest.set(CaptureRequest.EDGE_MODE, CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG);
                 inputReqest.set(CaptureRequest.REPROCESS_EFFECTIVE_EXPOSURE_FACTOR, null);
                 inputReqest.addTarget(mInputImageReader.getSurface());
                 mSession.capture(inputReqest.build(), captureCallbackWaiter, mResultHandler);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
index 273d78a..49b34fd 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/orientation/CameraOrientationActivity.java
@@ -389,6 +389,7 @@
         int targetWidth = w;
 
         boolean aspectRatio = true;
+        boolean maintainCeiling = true;
         while(true) {
             for (Camera.Size size : sizes) {
                 if(aspectRatio) {
@@ -399,20 +400,27 @@
                 }
                 curDiff = Math.abs(size.height - targetHeight) +
                         Math.abs(size.width - targetWidth);
-                if (curDiff < minDiff
+                if (maintainCeiling && curDiff < minDiff
                         && size.height <= targetHeight
                         && size.width <= targetWidth) {
                     optimalSize = size;
                     minDiff = curDiff;
+                } else if (maintainCeiling == false
+                               && curDiff < minDiff) {
+                    //try to get as close as possible
+                    optimalSize = size;
+                    minDiff = curDiff;
                 }
             }
-            if (optimalSize == null) {
+            if (optimalSize == null && aspectRatio == true) {
                 // Cannot find a match, so repeat search and
                 // ignore aspect ratio requirement
                 aspectRatio = false;
-                continue;
-            }
-            else {
+            } else if (maintainCeiling == true) {
+                //Camera resolutions are greater than ceiling provided
+                //lets try to get as close as we can
+                maintainCeiling = false;
+            } else {
                 break;
             }
         }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
index 48ce03c..0a397e8 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/video/CameraVideoActivity.java
@@ -268,6 +268,7 @@
                 @Override
                 public void onCompletion(MediaPlayer mp) {
                     isPlayingBack = false;
+                    mPlaybackView.stopPlayback();
                     captureButton.setEnabled(true);
                     mStatusLabel.setText(getResources().getString(R.string.status_ready));
                 }
@@ -562,7 +563,7 @@
         if (matchedSize == null) {
             for (int i = mPreviewSizes.size() - 1; i >= 0; i--) {
                 if (Math.abs((float)mPreviewSizes.get(i).width * recordSize.height /
-                        mPreviewSizes.get(i).height / recordSize.width - 1) < 0.1) {
+                        mPreviewSizes.get(i).height / recordSize.width - 1) < 0.12) {
                     matchedSize = mCamera.new Size(mPreviewSizes.get(i).width,
                             mPreviewSizes.get(i).height);
                     break;
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
index 36acf42..51e0a62 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/features/FeatureSummaryActivity.java
@@ -230,6 +230,10 @@
             new Feature("android.software.voice_recognizers", false),
     };
 
+    public static final Feature[] ALL_MNC_FEATURES = {
+            new Feature(PackageManager.FEATURE_MIDI, false),
+    };
+
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -261,6 +265,9 @@
 
         // add features from latest to last so that the latest requirements are put in the set first
         int apiVersion = Build.VERSION.SDK_INT;
+        if (apiVersion >= Build.VERSION_CODES.M) {
+            Collections.addAll(features, ALL_MNC_FEATURES);
+        }
         if (apiVersion >= Build.VERSION_CODES.LOLLIPOP) {
             Collections.addAll(features, ALL_LOLLIPOP_FEATURES);
         }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
index 112a6e3..bee1241 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodFlowTestActivity.java
@@ -16,33 +16,24 @@
 
 package com.android.cts.verifier.managedprovisioning;
 
-import android.app.AlertDialog;
 import android.app.admin.DevicePolicyManager;
 import android.content.ActivityNotFoundException;
 import android.content.ComponentName;
-import android.content.Context;
-import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.provider.Settings;
 import android.util.Log;
-import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.view.View.OnClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.ListView;
-import android.widget.TextView;
 import android.widget.Toast;
 
-import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.ArrayTestListAdapter;
+import com.android.cts.verifier.DialogTestListActivity;
 import com.android.cts.verifier.R;
 import com.android.cts.verifier.TestListActivity;
-
-import java.util.ArrayList;
-import java.util.List;
+import com.android.cts.verifier.TestListAdapter.TestListItem;
+import com.android.cts.verifier.TestResult;
 
 /**
  * CTS verifier test for BYOD managed provisioning flow.
@@ -55,64 +46,50 @@
  * The first two verifications are performed automatically, by interacting with profile owner using
  * cross-profile intents, while the last two are carried out manually by the user.
  */
-public class ByodFlowTestActivity extends PassFailButtons.ListActivity {
+public class ByodFlowTestActivity extends DialogTestListActivity {
 
     private final String TAG = "ByodFlowTestActivity";
+    private static final int REQUEST_MANAGED_PROVISIONING = 0;
     private static final int REQUEST_PROFILE_OWNER_STATUS = 1;
     private static final int REQUEST_INTENT_FILTERS_STATUS = 2;
 
     private ComponentName mAdminReceiverComponent;
 
-    private TestAdapter mTestListAdapter;
-    private View mStartProvisioningButton;
-    private List<TestItem> mTests = new ArrayList<TestItem>();
+    private DialogTestListItem mProfileOwnerInstalled;
+    private DialogTestListItem mProfileAccountVisibleTest;
+    private DialogTestListItem mDeviceAdminVisibleTest;
+    private DialogTestListItem mWorkAppVisibleTest;
+    private DialogTestListItem mCrossProfileIntentFiltersTest;
+    private DialogTestListItem mDisableNonMarketTest;
+    private DialogTestListItem mEnableNonMarketTest;
+    private DialogTestListItem mWorkNotificationBadgedTest;
+    private DialogTestListItem mWorkStatusBarIconTest;
+    private DialogTestListItem mWorkStatusBarToastTest;
+    private DialogTestListItem mAppSettingsVisibleTest;
+    private DialogTestListItem mLocationSettingsVisibleTest;
+    private DialogTestListItem mCredSettingsVisibleTest;
+    private DialogTestListItem mPrintSettingsVisibleTest;
+    private DialogTestListItem mIntentFiltersTest;
+    private DialogTestListItem mPermissionLockdownTest;
+    private DialogTestListItem mCrossProfileImageCaptureSupportTest;
+    private DialogTestListItem mCrossProfileVideoCaptureSupportTest;
+    private DialogTestListItem mCrossProfileAudioCaptureSupportTest;
+    private TestListItem mKeyguardDisabledFeaturesTest;
 
-    protected DevicePolicyManager mDevicePolicyManager;
-
-    private TestItem mProfileOwnerInstalled;
-    private TestItem mProfileAccountVisibleTest;
-    private TestItem mDeviceAdminVisibleTest;
-    private TestItem mWorkAppVisibleTest;
-    private TestItem mCrossProfileIntentFiltersTest;
-    private TestItem mDisableNonMarketTest;
-    private TestItem mEnableNonMarketTest;
-    private TestItem mWorkNotificationBadgedTest;
-    private TestItem mWorkStatusBarIconTest;
-    private TestItem mWorkStatusBarToastTest;
-    private TestItem mAppSettingsVisibleTest;
-    private TestItem mLocationSettingsVisibleTest;
-    private TestItem mCredSettingsVisibleTest;
-    private TestItem mPrintSettingsVisibleTest;
-    private TestItem mIntentFiltersTest;
-    private TestItem mCrossProfileImageCaptureSupportTest;
-    private TestItem mCrossProfileVideoCaptureSupportTest;
-    private TestItem mCrossProfileAudioCaptureSupportTest;
-
-    private int mCurrentTestPosition;
+    public ByodFlowTestActivity() {
+        super(R.layout.provisioning_byod,
+                R.string.provisioning_byod, R.string.provisioning_byod_info,
+                R.string.provisioning_byod_instructions);
+    }
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         mAdminReceiverComponent = new ComponentName(this, DeviceAdminTestReceiver.class.getName());
-        mDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+
         disableComponent();
-
-        setContentView(R.layout.provisioning_byod);
-        setInfoResources(R.string.provisioning_byod, R.string.provisioning_byod_info, -1);
-        setPassFailButtonClickListeners();
-        getPassButton().setEnabled(false);
-        setResult(RESULT_CANCELED);
-
-        setupTests();
-
-        mTestListAdapter = new TestAdapter(this);
-        setListAdapter(mTestListAdapter);
-        mTestListAdapter.addAll(mTests);
-
-        mCurrentTestPosition = 0;
-
-        mStartProvisioningButton = findViewById(R.id.byod_start);
-        mStartProvisioningButton.setOnClickListener(new OnClickListener() {
+        mPrepareTestButton.setText(R.string.provisioning_byod_start);
+        mPrepareTestButton.setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View v) {
                 startByodProvisioning();
@@ -138,25 +115,34 @@
         // This is called when managed provisioning completes successfully without reboot.
         super.onNewIntent(intent);
         if (ByodHelperActivity.ACTION_PROFILE_OWNER_STATUS.equals(intent.getAction())) {
-            handleStatusUpdate(intent);
+            handleStatusUpdate(RESULT_OK, intent);
         }
     }
 
     @Override
-    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-        // Called after queryProfileOwner()
-        if (requestCode == REQUEST_PROFILE_OWNER_STATUS && resultCode == RESULT_OK) {
-            handleStatusUpdate(data);
-            // Called after checkIntentFilters()
-        } else if (requestCode == REQUEST_INTENT_FILTERS_STATUS) {
-            handleIntentFiltersStatus(resultCode);
+    protected void handleActivityResult(int requestCode, int resultCode, Intent data) {
+        switch (requestCode) {
+            case REQUEST_MANAGED_PROVISIONING:
+                return;
+            case REQUEST_PROFILE_OWNER_STATUS: {
+                // Called after queryProfileOwner()
+                handleStatusUpdate(resultCode, data);
+            } break;
+            case REQUEST_INTENT_FILTERS_STATUS: {
+                // Called after checkIntentFilters()
+                handleIntentFiltersStatus(resultCode);
+            } break;
+            default: {
+                super.handleActivityResult(requestCode, resultCode, data);
+            }
         }
     }
 
-    private void handleStatusUpdate(Intent data) {
-        boolean provisioned = data.getBooleanExtra(ByodHelperActivity.EXTRA_PROVISIONED, false);
-        setTestResult(mProfileOwnerInstalled, provisioned ? TestResult.Passed : TestResult.Failed);
+    private void handleStatusUpdate(int resultCode, Intent data) {
+        boolean provisioned = data != null &&
+                data.getBooleanExtra(ByodHelperActivity.EXTRA_PROVISIONED, false);
+        setTestResult(mProfileOwnerInstalled, (provisioned && resultCode == RESULT_OK) ?
+                TestResult.TEST_RESULT_PASSED : TestResult.TEST_RESULT_FAILED);
     }
 
     @Override
@@ -167,10 +153,13 @@
         super.finish();
     }
 
-    private void setupTests() {
-        mProfileOwnerInstalled = new TestItem(this, R.string.provisioning_byod_profileowner) {
+    @Override
+    protected void setupTests(ArrayTestListAdapter adapter) {
+        mProfileOwnerInstalled = new DialogTestListItem(this,
+                R.string.provisioning_byod_profileowner,
+                "BYOD_ProfileOwnerInstalled") {
             @Override
-            public void performTest(ByodFlowTestActivity activity) {
+            public void performTest(DialogTestListActivity activity) {
                 queryProfileOwner(true);
             }
         };
@@ -179,113 +168,150 @@
          * To keep the image in this test up to date, use the instructions in
          * {@link ByodIconSamplerActivity}.
          */
-        mWorkAppVisibleTest = new TestItemWithIcon(this,
+        mWorkAppVisibleTest = new DialogTestListItemWithIcon(this,
                 R.string.provisioning_byod_workapps_visible,
+                "BYOD_WorkAppVisibleTest",
                 R.string.provisioning_byod_workapps_visible_instruction,
                 new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME),
                 R.drawable.badged_icon);
 
-        mWorkNotificationBadgedTest = new TestItemWithIcon(this,
+        mWorkNotificationBadgedTest = new DialogTestListItemWithIcon(this,
                 R.string.provisioning_byod_work_notification,
+                "BYOD_WorkNotificationBadgedTest",
                 R.string.provisioning_byod_work_notification_instruction,
                 new Intent(WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION),
                 R.drawable.ic_corp_icon);
 
         Intent workStatusIcon = new Intent(WorkStatusTestActivity.ACTION_WORK_STATUS_ICON);
         workStatusIcon.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mWorkStatusBarIconTest = new TestItemWithIcon(this,
+        mWorkStatusBarIconTest = new DialogTestListItemWithIcon(this,
                 R.string.provisioning_byod_work_status_icon,
+                "BYOD_WorkStatusBarIconTest",
                 R.string.provisioning_byod_work_status_icon_instruction,
                 workStatusIcon,
                 R.drawable.stat_sys_managed_profile_status);
 
         Intent workStatusToast = new Intent(WorkStatusTestActivity.ACTION_WORK_STATUS_TOAST);
         workStatusToast.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        mWorkStatusBarToastTest = new TestItem(this,
+        mWorkStatusBarToastTest = new DialogTestListItem(this,
                 R.string.provisioning_byod_work_status_toast,
+                "BYOD_WorkStatusBarToastTest",
                 R.string.provisioning_byod_work_status_toast_instruction,
                 workStatusToast);
 
-        mDisableNonMarketTest = new TestItem(this, R.string.provisioning_byod_nonmarket_deny,
+        mDisableNonMarketTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_nonmarket_deny,
+                "BYOD_DisableNonMarketTest",
                 R.string.provisioning_byod_nonmarket_deny_info,
                 new Intent(ByodHelperActivity.ACTION_INSTALL_APK)
                         .putExtra(ByodHelperActivity.EXTRA_ALLOW_NON_MARKET_APPS, false));
 
-        mEnableNonMarketTest = new TestItem(this, R.string.provisioning_byod_nonmarket_allow,
+        mEnableNonMarketTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_nonmarket_allow,
+                "BYOD_EnableNonMarketTest",
                 R.string.provisioning_byod_nonmarket_allow_info,
                 new Intent(ByodHelperActivity.ACTION_INSTALL_APK)
                         .putExtra(ByodHelperActivity.EXTRA_ALLOW_NON_MARKET_APPS, true));
 
-        mProfileAccountVisibleTest = new TestItem(this, R.string.provisioning_byod_profile_visible,
+        mProfileAccountVisibleTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_profile_visible,
+                "BYOD_ProfileAccountVisibleTest",
                 R.string.provisioning_byod_profile_visible_instruction,
                 new Intent(Settings.ACTION_SETTINGS));
 
-        mAppSettingsVisibleTest = new TestItem(this, R.string.provisioning_byod_app_settings,
+        mAppSettingsVisibleTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_app_settings,
+                "BYOD_AppSettingsVisibleTest",
                 R.string.provisioning_byod_app_settings_instruction,
                 new Intent(Settings.ACTION_APPLICATION_SETTINGS));
 
-        mDeviceAdminVisibleTest = new TestItem(this, R.string.provisioning_byod_admin_visible,
+        mDeviceAdminVisibleTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_admin_visible,
+                "BYOD_DeviceAdminVisibleTest",
                 R.string.provisioning_byod_admin_visible_instruction,
                 new Intent(Settings.ACTION_SECURITY_SETTINGS));
 
-        mCredSettingsVisibleTest = new TestItem(this, R.string.provisioning_byod_cred_settings,
+        mCredSettingsVisibleTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_cred_settings,
+                "BYOD_CredSettingsVisibleTest",
                 R.string.provisioning_byod_cred_settings_instruction,
                 new Intent(Settings.ACTION_SECURITY_SETTINGS));
 
-        mLocationSettingsVisibleTest = new TestItem(this,
+        mLocationSettingsVisibleTest = new DialogTestListItem(this,
                 R.string.provisioning_byod_location_settings,
+                "BYOD_LocationSettingsVisibleTest",
                 R.string.provisioning_byod_location_settings_instruction,
                 new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
 
-        mPrintSettingsVisibleTest = new TestItem(this, R.string.provisioning_byod_print_settings,
+        mPrintSettingsVisibleTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_print_settings,
+                "BYOD_PrintSettingsVisibleTest",
                 R.string.provisioning_byod_print_settings_instruction,
                 new Intent(Settings.ACTION_PRINT_SETTINGS));
 
         Intent intent = new Intent(CrossProfileTestActivity.ACTION_CROSS_PROFILE);
         Intent chooser = Intent.createChooser(intent,
                 getResources().getString(R.string.provisioning_cross_profile_chooser));
-        mCrossProfileIntentFiltersTest = new TestItem(this,
+        mCrossProfileIntentFiltersTest = new DialogTestListItem(this,
                 R.string.provisioning_byod_cross_profile,
+                "BYOD_CrossProfileIntentFiltersTest",
                 R.string.provisioning_byod_cross_profile_instruction,
                 chooser);
 
+        mKeyguardDisabledFeaturesTest = TestListItem.newTest(this,
+                R.string.provisioning_byod_keyguard_disabled_features,
+                KeyguardDisabledFeaturesActivity.class.getName(),
+                new Intent(this, KeyguardDisabledFeaturesActivity.class), null);
+
         // Test for checking if the required intent filters are set during managed provisioning.
-        mIntentFiltersTest = new TestItem(this,
-                R.string.provisioning_byod_cross_profile_intent_filters) {
+        mIntentFiltersTest = new DialogTestListItem(this,
+                R.string.provisioning_byod_cross_profile_intent_filters,
+                "BYOD_IntentFiltersTest") {
             @Override
-            public void performTest(ByodFlowTestActivity activity) {
+            public void performTest(DialogTestListActivity activity) {
                 checkIntentFilters();
             }
         };
+        
+        Intent permissionCheckIntent = new Intent(
+                PermissionLockdownTestActivity.ACTION_MANAGED_PROFILE_CHECK_PERMISSION_LOCKDOWN);
+        mPermissionLockdownTest = new DialogTestListItem(this,
+                R.string.device_profile_owner_permission_lockdown_test,
+                "BYOD_PermissionLockdownTest",
+                R.string.profile_owner_permission_lockdown_test_info,
+                permissionCheckIntent);
 
-        mTests.add(mProfileOwnerInstalled);
+        adapter.add(mProfileOwnerInstalled);
 
         // Badge related tests
-        mTests.add(mWorkAppVisibleTest);
-        mTests.add(mWorkNotificationBadgedTest);
-        mTests.add(mWorkStatusBarIconTest);
-        mTests.add(mWorkStatusBarToastTest);
+        adapter.add(mWorkAppVisibleTest);
+        adapter.add(mWorkNotificationBadgedTest);
+        adapter.add(mWorkStatusBarIconTest);
+        adapter.add(mWorkStatusBarToastTest);
 
         // Settings related tests.
-        mTests.add(mProfileAccountVisibleTest);
-        mTests.add(mDeviceAdminVisibleTest);
-        mTests.add(mCredSettingsVisibleTest);
-        mTests.add(mAppSettingsVisibleTest);
-        mTests.add(mLocationSettingsVisibleTest);
-        mTests.add(mPrintSettingsVisibleTest);
+        adapter.add(mProfileAccountVisibleTest);
+        adapter.add(mDeviceAdminVisibleTest);
+        adapter.add(mCredSettingsVisibleTest);
+        adapter.add(mAppSettingsVisibleTest);
+        adapter.add(mLocationSettingsVisibleTest);
+        adapter.add(mPrintSettingsVisibleTest);
 
-        mTests.add(mCrossProfileIntentFiltersTest);
-        mTests.add(mDisableNonMarketTest);
-        mTests.add(mEnableNonMarketTest);
-        mTests.add(mIntentFiltersTest);
+        adapter.add(mCrossProfileIntentFiltersTest);
+        adapter.add(mDisableNonMarketTest);
+        adapter.add(mEnableNonMarketTest);
+        adapter.add(mIntentFiltersTest);
+        adapter.add(mPermissionLockdownTest);
+        adapter.add(mKeyguardDisabledFeaturesTest);
 
         if (canResolveIntent(ByodHelperActivity.getCaptureImageIntent())) {
             // Capture image intent can be resolved in primary profile, so test.
-            mCrossProfileImageCaptureSupportTest = new TestItem(this,
+            mCrossProfileImageCaptureSupportTest = new DialogTestListItem(this,
                     R.string.provisioning_byod_capture_image_support,
+                    "BYOD_CrossProfileImageCaptureSupportTest",
                     R.string.provisioning_byod_capture_image_support_info,
                     new Intent(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_IMAGE));
-            mTests.add(mCrossProfileImageCaptureSupportTest);
+            adapter.add(mCrossProfileImageCaptureSupportTest);
         } else {
             // Capture image intent cannot be resolved in primary profile, so skip test.
             Toast.makeText(ByodFlowTestActivity.this,
@@ -295,11 +321,12 @@
 
         if (canResolveIntent(ByodHelperActivity.getCaptureVideoIntent())) {
             // Capture video intent can be resolved in primary profile, so test.
-            mCrossProfileVideoCaptureSupportTest = new TestItem(this,
+            mCrossProfileVideoCaptureSupportTest = new DialogTestListItem(this,
                     R.string.provisioning_byod_capture_video_support,
+                    "BYOD_CrossProfileVideoCaptureSupportTest",
                     R.string.provisioning_byod_capture_video_support_info,
                     new Intent(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_VIDEO));
-            mTests.add(mCrossProfileVideoCaptureSupportTest);
+            adapter.add(mCrossProfileVideoCaptureSupportTest);
         } else {
             // Capture video intent cannot be resolved in primary profile, so skip test.
             Toast.makeText(ByodFlowTestActivity.this,
@@ -310,11 +337,12 @@
         /* TODO: reinstate when bug b/20131958 is fixed
         if (canResolveIntent(ByodHelperActivity.getCaptureAudioIntent())) {
             // Capture audio intent can be resolved in primary profile, so test.
-            mCrossProfileAudioCaptureSupportTest = new TestItem(this,
+            mCrossProfileAudioCaptureSupportTest = new DialogTestListItem(this,
                     R.string.provisioning_byod_capture_audio_support,
+                    "BYOD_CrossProfileAudioCaptureSupportTest",
                     R.string.provisioning_byod_capture_audio_support_info,
                     new Intent(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_AUDIO));
-            mTests.add(mCrossProfileAudioCaptureSupportTest);
+            adapter.add(mCrossProfileAudioCaptureSupportTest);
         } else {
             // Capture audio intent cannot be resolved in primary profile, so skip test.
             Toast.makeText(ByodFlowTestActivity.this,
@@ -324,67 +352,18 @@
         */
     }
 
-    @Override
-    protected void onListItemClick(ListView l, View v, int position, long id) {
-        super.onListItemClick(l, v, position, id);
-        mCurrentTestPosition = position;
-        TestItem test = (TestItem) getListAdapter().getItem(position);
-        test.performTest(this);
-    }
-
     // Return whether the intent can be resolved in the current profile
     private boolean canResolveIntent(Intent intent) {
         return intent.resolveActivity(getPackageManager()) != null;
     }
 
-    private void showManualTestDialog(final TestItem test) {
-        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this)
-                .setIcon(android.R.drawable.ic_dialog_info)
-                .setTitle(R.string.provisioning_byod)
-                .setNeutralButton(R.string.provisioning_byod_go, null)
-                .setPositiveButton(R.string.pass_button_text, new AlertDialog.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        clearRemainingState(test);
-                        setTestResult(test, TestResult.Passed);
-                    }
-                })
-                .setNegativeButton(R.string.fail_button_text, new AlertDialog.OnClickListener() {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which) {
-                        clearRemainingState(test);
-                        setTestResult(test, TestResult.Failed);
-                    }
-                });
-        View customView = test.getCustomView();
-        if (customView != null) {
-            dialogBuilder.setView(customView);
-        } else {
-            dialogBuilder.setMessage(test.getManualTestInstruction());
-        }
-        final AlertDialog dialog = dialogBuilder.show();
-        // Note: Setting the OnClickListener on the Dialog rather than the Builder, prevents the
-        // dialog being dismissed on onClick.
-        dialog.getButton(AlertDialog.BUTTON_NEUTRAL).setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                try {
-                    ByodFlowTestActivity.this.startActivity(test.getManualTestIntent());
-                } catch (ActivityNotFoundException e) {
-                    Toast.makeText(ByodFlowTestActivity.this,
-                            "Cannot start " + test.getManualTestIntent(), Toast.LENGTH_LONG).show();
-                    setTestResult(test, TestResult.Failed);
-                    dialog.dismiss();
-                }
-            }
-        });
-    }
-
-    private void clearRemainingState(final TestItem test) {
+    @Override
+    protected void clearRemainingState(final DialogTestListItem test) {
+        super.clearRemainingState(test);
         if (WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION.equals(
                 test.getManualTestIntent().getAction())) {
             try {
-                ByodFlowTestActivity.this.startActivity(new Intent(
+                startActivity(new Intent(
                         WorkNotificationTestActivity.ACTION_CLEAR_WORK_NOTIFICATION));
             } catch (ActivityNotFoundException e) {
                 // User shouldn't run this test before work profile is set up.
@@ -392,19 +371,6 @@
         }
     }
 
-    private void setTestResult(TestItem test, TestResult result) {
-        test.setPassFailState(result);
-
-        boolean testSucceeds = true;
-        for(TestItem aTest : mTests) {
-            testSucceeds &= (aTest.getPassFailState() == TestResult.Passed);
-        }
-        getPassButton().setEnabled(testSucceeds);
-        mTestListAdapter.notifyDataSetChanged();
-
-        this.getListView().smoothScrollToPosition(mCurrentTestPosition + 1);
-    }
-
     private void startByodProvisioning() {
         Intent sending = new Intent(DevicePolicyManager.ACTION_PROVISION_MANAGED_PROFILE);
         sending.putExtra(DevicePolicyManager.EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME,
@@ -413,7 +379,7 @@
         if (sending.resolveActivity(getPackageManager()) != null) {
             // ManagedProvisioning must be started with startActivityForResult, but we don't
             // care about the result, so passing 0 as a requestCode
-            startActivityForResult(sending, 0);
+            startActivityForResult(sending, REQUEST_MANAGED_PROVISIONING);
         } else {
             showToast(R.string.provisioning_byod_disabled);
         }
@@ -426,7 +392,7 @@
         }
         catch (ActivityNotFoundException e) {
             Log.d(TAG, "queryProfileOwner: ActivityNotFoundException", e);
-            setTestResult(mProfileOwnerInstalled, TestResult.Failed);
+            setTestResult(mProfileOwnerInstalled, TestResult.TEST_RESULT_FAILED);
             if (showToast) {
                 showToast(R.string.provisioning_byod_no_activity);
             }
@@ -452,7 +418,7 @@
             startActivityForResult(intent, REQUEST_INTENT_FILTERS_STATUS);
         } catch (ActivityNotFoundException e) {
             Log.d(TAG, "checkIntentFilters: ActivityNotFoundException", e);
-            setTestResult(mIntentFiltersTest, TestResult.Failed);
+            setTestResult(mIntentFiltersTest, TestResult.TEST_RESULT_FAILED);
             showToast(R.string.provisioning_byod_no_activity);
         }
     }
@@ -470,142 +436,22 @@
         final boolean intentFiltersSet =
                 intentFiltersSetForPrimaryIntents & intentFiltersSetForManagedIntents;
         setTestResult(mIntentFiltersTest,
-                intentFiltersSet ? TestResult.Passed : TestResult.Failed);
+                intentFiltersSet ? TestResult.TEST_RESULT_PASSED : TestResult.TEST_RESULT_FAILED);
     }
 
     private void disableComponent() {
         // Disable app components in the current profile, so only the counterpart in the other profile
         // can respond (via cross-profile intent filter)
-        getPackageManager().setComponentEnabledSetting(new ComponentName(
-                this, ByodHelperActivity.class),
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
-                PackageManager.DONT_KILL_APP);
-        getPackageManager().setComponentEnabledSetting(new ComponentName(
-                this, WorkNotificationTestActivity.class),
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
-                PackageManager.DONT_KILL_APP);
-        getPackageManager().setComponentEnabledSetting(new ComponentName(
-                this, WorkStatusTestActivity.class),
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
-                PackageManager.DONT_KILL_APP);
-    }
-
-    private void showToast(int messageId) {
-        String message = getString(messageId);
-        Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
-    }
-
-    enum TestResult {
-        Unknown, Failed, Passed
-    }
-
-    static class TestItem {
-
-        private String mDisplayName;
-        private TestResult mPassed;
-        private boolean mManualTest;
-        private String mManualInstruction;
-        private Intent mManualIntent;
-
-        public TestItem(Context context, int nameResId) {
-            mDisplayName = context.getString(nameResId);
-            mPassed = TestResult.Unknown;
-            mManualTest = false;
-        }
-
-        public void performTest(ByodFlowTestActivity activity) {
-            if (isManualTest()) {
-                activity.showManualTestDialog(this);
-            }
-        }
-
-        public TestItem(Context context, int nameResId, int testInstructionResId, Intent testIntent) {
-            mDisplayName = context.getString(nameResId);
-            mPassed = TestResult.Unknown;
-            mManualTest = true;
-            mManualInstruction = context.getString(testInstructionResId);
-            mManualIntent = testIntent;
-        }
-
-        @Override
-        public String toString() {
-            return mDisplayName;
-        }
-
-        TestResult getPassFailState() {
-            return mPassed;
-        }
-
-        void setPassFailState(TestResult state) {
-            mPassed = state;
-        }
-
-        public boolean isManualTest() {
-            return mManualTest;
-        }
-
-        public String getManualTestInstruction() {
-            return mManualInstruction;
-        }
-
-        public Intent getManualTestIntent() {
-            return mManualIntent;
-        }
-
-        public View getCustomView() {
-            return null;
-        }
-    }
-
-    static class TestItemWithIcon extends TestItem {
-
-        private int mImageResId;
-        private Context mContext;
-
-        public TestItemWithIcon(Context context, int nameResId, int testInstructionResId,
-                Intent testIntent, int imageResId) {
-            super(context, nameResId, testInstructionResId, testIntent);
-            mContext = context;
-            mImageResId = imageResId;
-        }
-
-        @Override
-        public View getCustomView() {
-            LayoutInflater layoutInflater = LayoutInflater.from(mContext);
-            View view = layoutInflater.inflate(R.layout.byod_custom_view,
-                    null /* root */);
-            ((ImageView) view.findViewById(R.id.sample_icon)).setImageResource(mImageResId);
-            ((TextView) view.findViewById(R.id.message)).setText(getManualTestInstruction());
-            return view;
-        }
-    }
-
-    static class TestAdapter extends ArrayAdapter<TestItem> {
-
-        public TestAdapter(Context context) {
-            super(context, android.R.layout.simple_list_item_1);
-        }
-
-        @Override
-        public View getView(int position, View convertView, ViewGroup parent) {
-            TextView view = (TextView) super.getView(position, convertView, parent);
-
-            TestItem item = getItem(position);
-            int backgroundResource = 0;
-            int iconResource = 0;
-            if (item.getPassFailState() == TestResult.Passed) {
-                backgroundResource = R.drawable.test_pass_gradient;
-                iconResource = R.drawable.fs_good;
-            } else if (item.getPassFailState() == TestResult.Failed){
-                backgroundResource = R.drawable.test_fail_gradient;
-                iconResource = R.drawable.fs_error;
-            }
-            view.setBackgroundResource(backgroundResource);
-            view.setPadding(10, 0, 10, 0);
-            view.setCompoundDrawablePadding(10);
-            view.setCompoundDrawablesWithIntrinsicBounds(0, 0, iconResource, 0);
-
-            return view;
+        final String[] components = {
+            ByodHelperActivity.class.getName(),
+            WorkNotificationTestActivity.class.getName(),
+            WorkStatusTestActivity.class.getName(),
+            PermissionLockdownTestActivity.ACTIVITY_ALIAS
+        };
+        for (String component : components) {
+            getPackageManager().setComponentEnabledSetting(new ComponentName(this, component),
+                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+                    PackageManager.DONT_KILL_APP);
         }
     }
 }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodHelperActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodHelperActivity.java
index d8a3387..09e6393 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodHelperActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/ByodHelperActivity.java
@@ -39,7 +39,6 @@
 import java.util.ArrayList;
 
 import com.android.cts.verifier.R;
-import com.android.cts.verifier.managedprovisioning.ByodFlowTestActivity.TestResult;
 import com.android.cts.verifier.managedprovisioning.ByodPresentMediaDialog.DialogCallback;
 
 /**
@@ -68,8 +67,13 @@
     public static final String ACTION_CAPTURE_AND_CHECK_VIDEO = "com.android.cts.verifier.managedprovisioning.BYOD_CAPTURE_AND_CHECK_VIDEO";
     // Primage -> managed intent: request to capture and check an audio recording
     public static final String ACTION_CAPTURE_AND_CHECK_AUDIO = "com.android.cts.verifier.managedprovisioning.BYOD_CAPTURE_AND_CHECK_AUDIO";
+    public static final String ACTION_KEYGUARD_DISABLED_FEATURES =
+            "com.android.cts.verifier.managedprovisioning.BYOD_KEYGUARD_DISABLED_FEATURES";
+    public static final String ACTION_LOCKNOW =
+            "com.android.cts.verifier.managedprovisioning.BYOD_LOCKNOW";
 
     public static final String EXTRA_PROVISIONED = "extra_provisioned";
+    public static final String EXTRA_PARAMETER_1 = "extra_parameter_1";
 
     // Primary -> managed intent: set unknown sources restriction and install package
     public static final String ACTION_INSTALL_APK = "com.android.cts.verifier.managedprovisioning.BYOD_INSTALL_APK";
@@ -188,6 +192,14 @@
                 finish();
             }
             return;
+        } else if (ACTION_KEYGUARD_DISABLED_FEATURES.equals(action)) {
+            final int value = intent.getIntExtra(EXTRA_PARAMETER_1,
+                    DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE);
+            ComponentName admin = DeviceAdminTestReceiver.getReceiverComponentName();
+            mDevicePolicyManager.setKeyguardDisabledFeatures(admin, value);
+        } else if (ACTION_LOCKNOW.equals(action)) {
+            mDevicePolicyManager.lockNow();
+            setResult(RESULT_OK);
         }
         // This activity has no UI and is only used to respond to CtsVerifier in the primary side.
         finish();
@@ -268,6 +280,10 @@
         return new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
     }
 
+    public static Intent createLockIntent() {
+        return new Intent(ACTION_LOCKNOW);
+    }
+
     private Uri getTempUri(String fileName) {
         final File file = new File(getFilesDir() + File.separator + "images"
                 + File.separator + fileName);
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceAdminTestReceiver.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceAdminTestReceiver.java
index ef5d62d..b18e816 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceAdminTestReceiver.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceAdminTestReceiver.java
@@ -61,11 +61,16 @@
             filter.addAction(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_IMAGE);
             filter.addAction(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_VIDEO);
             filter.addAction(ByodHelperActivity.ACTION_CAPTURE_AND_CHECK_AUDIO);
+            filter.addAction(ByodHelperActivity.ACTION_KEYGUARD_DISABLED_FEATURES);
+            filter.addAction(ByodHelperActivity.ACTION_LOCKNOW);
             filter.addAction(CrossProfileTestActivity.ACTION_CROSS_PROFILE);
             filter.addAction(WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION);
+            filter.addAction(WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION_ON_LOCKSCREEN);
             filter.addAction(WorkNotificationTestActivity.ACTION_CLEAR_WORK_NOTIFICATION);
             filter.addAction(WorkStatusTestActivity.ACTION_WORK_STATUS_TOAST);
             filter.addAction(WorkStatusTestActivity.ACTION_WORK_STATUS_ICON);
+            filter.addAction(
+                    PermissionLockdownTestActivity.ACTION_MANAGED_PROFILE_CHECK_PERMISSION_LOCKDOWN);
             dpm.addCrossProfileIntentFilter(getWho(context), filter,
                     DevicePolicyManager.FLAG_MANAGED_CAN_ACCESS_PARENT);
 
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
index 1a5e73c..a6a5e5a 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/DeviceOwnerPositiveTestActivity.java
@@ -25,6 +25,7 @@
 import android.content.pm.PackageManager;
 import android.database.DataSetObserver;
 import android.os.Bundle;
+import android.os.UserManager;
 import android.provider.Settings;
 import android.util.Log;
 import android.view.View;
@@ -62,12 +63,18 @@
     static final String COMMAND_SET_GLOBAL_SETTING = "set-global-setting";
     static final String COMMAND_SET_STATUSBAR_DISABLED = "set-statusbar-disabled";
     static final String COMMAND_SET_KEYGUARD_DISABLED = "set-keyguard-disabled";
+    static final String COMMAND_CHECK_PERMISSION_LOCKDOWN = "check-permission-lockdown";
     static final String EXTRA_SETTING = "extra-setting";
 
     private static final String CHECK_DEVICE_OWNER_TEST_ID = "CHECK_DEVICE_OWNER";
+    private static final String DEVICE_ADMIN_SETTINGS_ID = "DEVICE_ADMIN_SETTINGS";
     private static final String WIFI_LOCKDOWN_TEST_ID = WifiLockdownTestActivity.class.getName();
     private static final String DISABLE_STATUS_BAR_TEST_ID = "DISABLE_STATUS_BAR";
     private static final String DISABLE_KEYGUARD_TEST_ID = "DISABLE_KEYGUARD";
+    private static final String CHECK_PERMISSION_LOCKDOWN_TEST_ID =
+            PermissionLockdownTestActivity.class.getName();
+    private static final String DISALLOW_CONFIG_BT_ID = "DISALLOW_CONFIG_BT";
+    private static final String DISALLOW_CONFIG_WIFI_ID = "DISALLOW_CONFIG_WIFI";
     private static final String REMOVE_DEVICE_OWNER_TEST_ID = "REMOVE_DEVICE_OWNER";
 
     @Override
@@ -129,11 +136,49 @@
                 new Intent(this, CommandReceiver.class)
                         .putExtra(EXTRA_COMMAND, COMMAND_CHECK_DEVICE_OWNER)
                         ));
+
+        // device admin settings
+        adapter.add(createInteractiveTestItem(this, DEVICE_ADMIN_SETTINGS_ID,
+                R.string.device_owner_device_admin_visible,
+                R.string.device_owner_device_admin_visible_info,
+                new ButtonInfo(
+                        R.string.device_owner_settings_go,
+                        new Intent(Settings.ACTION_SECURITY_SETTINGS))));
+
         PackageManager packageManager = getPackageManager();
         if (packageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+            // WiFi Lock down tests
             adapter.add(createTestItem(this, WIFI_LOCKDOWN_TEST_ID,
                     R.string.device_owner_wifi_lockdown_test,
                     new Intent(this, WifiLockdownTestActivity.class)));
+
+            // DISALLOW_CONFIG_WIFI
+            adapter.add(createInteractiveTestItem(this, DISALLOW_CONFIG_WIFI_ID,
+                    R.string.device_owner_disallow_config_wifi,
+                    R.string.device_owner_disallow_config_wifi_info,
+                    new ButtonInfo[] {
+                            new ButtonInfo(
+                                    R.string.device_owner_user_restriction_set,
+                                    createSetUserRestrictionIntent(
+                                            UserManager.DISALLOW_CONFIG_WIFI)),
+                            new ButtonInfo(
+                                    R.string.device_owner_settings_go,
+                                    new Intent(Settings.ACTION_WIFI_SETTINGS))}));
+        }
+
+        // DISALLOW_CONFIG_BLUETOOTH
+        if (packageManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
+            adapter.add(createInteractiveTestItem(this, DISALLOW_CONFIG_BT_ID,
+                    R.string.device_owner_disallow_config_bt,
+                    R.string.device_owner_disallow_config_bt_info,
+                    new ButtonInfo[] {
+                            new ButtonInfo(
+                                    R.string.device_owner_user_restriction_set,
+                                    createSetUserRestrictionIntent(
+                                            UserManager.DISALLOW_CONFIG_BLUETOOTH)),
+                            new ButtonInfo(
+                                    R.string.device_owner_settings_go,
+                                    new Intent(Settings.ACTION_BLUETOOTH_SETTINGS))}));
         }
 
         // setStatusBarDisabled
@@ -164,6 +209,11 @@
                                 createDeviceOwnerIntentWithBooleanParameter(
                                         COMMAND_SET_KEYGUARD_DISABLED, false))}));
 
+        // setPermissionGrantState
+        adapter.add(createTestItem(this, CHECK_PERMISSION_LOCKDOWN_TEST_ID,
+                R.string.device_profile_owner_permission_lockdown_test,
+                new Intent(PermissionLockdownTestActivity.ACTION_CHECK_PERMISSION_LOCKDOWN)));
+
         // removeDeviceOwner
         adapter.add(createInteractiveTestItem(this, REMOVE_DEVICE_OWNER_TEST_ID,
                 R.string.device_owner_remove_device_owner_test,
@@ -207,6 +257,12 @@
                 .putExtra(EXTRA_PARAMETER_1, value);
     }
 
+    private Intent createSetUserRestrictionIntent(String restriction) {
+        return new Intent(this, CommandReceiver.class)
+                .putExtra(EXTRA_COMMAND, COMMAND_ADD_USER_RESTRICTION)
+                .putExtra(EXTRA_RESTRICTION, restriction);
+    }
+
     public static class CommandReceiver extends Activity {
         @Override
         public void onCreate(Bundle savedInstanceState) {
@@ -268,6 +324,8 @@
 
             dpm.setStatusBarDisabled(admin, false);
             dpm.setKeyguardDisabled(admin, false);
+            dpm.clearUserRestriction(admin, UserManager.DISALLOW_CONFIG_BLUETOOTH);
+            dpm.clearUserRestriction(admin, UserManager.DISALLOW_CONFIG_WIFI);
             dpm.clearDeviceOwnerApp(getPackageName());
         }
     }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/KeyguardDisabledFeaturesActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/KeyguardDisabledFeaturesActivity.java
new file mode 100644
index 0000000..0fdc498
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/KeyguardDisabledFeaturesActivity.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.managedprovisioning;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ActivityNotFoundException;
+import android.content.Context;
+import android.content.Intent;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.View;
+import android.view.View.OnClickListener;
+
+import com.android.cts.verifier.ArrayTestListAdapter;
+import com.android.cts.verifier.DialogTestListActivity;
+import com.android.cts.verifier.R;
+
+public class KeyguardDisabledFeaturesActivity extends DialogTestListActivity {
+
+    public KeyguardDisabledFeaturesActivity() {
+        super(R.layout.provisioning_byod,
+                R.string.provisioning_byod_keyguard_disabled_features,
+                R.string.provisioning_byod_keyguard_disabled_features_info,
+                R.string.provisioning_byod_keyguard_disabled_features_instruction);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mPrepareTestButton.setText(
+                R.string.provisioning_byod_keyguard_disabled_features_prepare_button);
+        mPrepareTestButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    resetPassword("testpassword");
+                    setKeyguardDisabledFeatures(DevicePolicyManager.KEYGUARD_DISABLE_TRUST_AGENTS |
+                            DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT |
+                            DevicePolicyManager.KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS);
+                }
+            });
+    }
+
+    @Override
+    public void finish() {
+        // Pass and fail buttons are known to call finish() when clicked, and this is when we want to
+        // clear the password.
+        resetPassword(null);
+        super.finish();
+    }
+
+    private void setKeyguardDisabledFeatures(final int flags) {
+        Intent setKeyguardDisabledFeaturesIntent =
+                new Intent(ByodHelperActivity.ACTION_KEYGUARD_DISABLED_FEATURES)
+                .putExtra(ByodHelperActivity.EXTRA_PARAMETER_1, flags);
+        startActivity(setKeyguardDisabledFeaturesIntent);
+    }
+
+    /**
+     * Reset device password
+     * @param password password to reset to (may be null)
+     */
+    private void resetPassword(String password) {
+        DevicePolicyManager dpm = (DevicePolicyManager)
+                getSystemService(Context.DEVICE_POLICY_SERVICE);
+        dpm.resetPassword(password, 0);
+    }
+
+    @Override
+    protected void setupTests(ArrayTestListAdapter adapter) {
+        adapter.add(new DialogTestListItem(this, R.string.provisioning_byod_disable_trust_agents,
+                "BYOD_DisableTrustAgentsTest",
+                R.string.provisioning_byod_disable_trust_agents_instruction,
+                new Intent(Settings.ACTION_SECURITY_SETTINGS)));
+        adapter.add(new DialogTestListItemWithIcon(this,
+                R.string.provisioning_byod_disable_notifications,
+                "BYOD_DisableUnredactedNotifications",
+                R.string.provisioning_byod_disable_notifications_instruction,
+                new Intent(WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION_ON_LOCKSCREEN),
+                R.drawable.ic_corp_icon));
+        FingerprintManager fpm = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
+        if (fpm.isHardwareDetected()) {
+            adapter.add(new DialogTestListItem(this,
+                    R.string.provisioning_byod_fingerprint_disabled_in_settings,
+                    "BYOD_FingerprintDisabledInSettings",
+                    R.string.provisioning_byod_fingerprint_disabled_in_settings_instruction,
+                    new Intent(Settings.ACTION_SECURITY_SETTINGS)));
+            adapter.add(new DialogTestListItem(this, R.string.provisioning_byod_disable_fingerprint,
+                    "BYOD_DisableFingerprint",
+                    R.string.provisioning_byod_disable_fingerprint_instruction,
+                    ByodHelperActivity.createLockIntent()));
+        }
+    }
+
+    @Override
+    protected void clearRemainingState(final DialogTestListItem test) {
+        super.clearRemainingState(test);
+        if (WorkNotificationTestActivity.ACTION_WORK_NOTIFICATION_ON_LOCKSCREEN.equals(
+                test.getManualTestIntent().getAction())) {
+            try {
+                startActivity(new Intent(
+                        WorkNotificationTestActivity.ACTION_CLEAR_WORK_NOTIFICATION));
+            } catch (ActivityNotFoundException e) {
+                // User shouldn't run this test before work profile is set up.
+            }
+        }
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/PermissionLockdownTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/PermissionLockdownTestActivity.java
new file mode 100644
index 0000000..ea7e801
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/PermissionLockdownTestActivity.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.managedprovisioning;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ActivityNotFoundException;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.RadioGroup;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+
+public class PermissionLockdownTestActivity extends PassFailButtons.Activity
+        implements RadioGroup.OnCheckedChangeListener {
+    private static final String PERMISSION_APP_PACKAGE = "com.android.cts.permissionapp";
+
+    // Alias used for starting the activity from ByodFlowTestActivity (Managed profile tests).
+    static final String ACTIVITY_ALIAS
+            = "com.android.cts.verifier.managedprovisioning" +
+                    ".ManagedProfilePermissionLockdownTestActivity";
+
+    private static final String MANAGED_PROVISIONING_ACTION_PREFIX
+            = "com.android.cts.verifier.managedprovisioning.action.";
+    // Indicates that activity is started for device owner case.
+    static final String ACTION_CHECK_PERMISSION_LOCKDOWN
+            = MANAGED_PROVISIONING_ACTION_PREFIX + "CHECK_PERMISSION_LOCKDOWN";
+    // Indicates that activity is started for profile owner case.
+    static final String ACTION_MANAGED_PROFILE_CHECK_PERMISSION_LOCKDOWN
+            = MANAGED_PROVISIONING_ACTION_PREFIX + "MANAGED_PROFILE_CHECK_PERMISSION_LOCKDOWN";
+
+    // Permission grant states will be set on this permission.
+    private static final String CONTACTS_PERMISSION = android.Manifest.permission.READ_CONTACTS;
+
+    private boolean mDeviceOwnerTest;
+    private DevicePolicyManager mDevicePolicyManager;
+    private ComponentName mAdmin;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.permission_lockdown);
+
+        mDevicePolicyManager =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        mAdmin = DeviceAdminTestReceiver.getReceiverComponentName();
+
+        mDeviceOwnerTest =
+                ACTION_CHECK_PERMISSION_LOCKDOWN.equals(getIntent().getAction()) ? true : false;
+        // Return immediately if we are neither profile nor device owner.
+        if (!isProfileOrDeviceOwner()) {
+            setTestResultAndFinish(false);
+            return;
+        }
+
+        buildLayout();
+    }
+
+    private void buildLayout() {
+        PackageManager packageManager = getPackageManager();
+        ApplicationInfo applicationInfo = null;
+        try {
+            // We need to make sure that the CtsPermissionApp is installed on the device or
+            // work profile.
+            applicationInfo = packageManager.getApplicationInfo(
+                    PERMISSION_APP_PACKAGE, 0 /* flags */);
+        } catch (PackageManager.NameNotFoundException e) {
+            showToast(getString(R.string.package_not_found, PERMISSION_APP_PACKAGE));
+            setTestResultAndFinish(false);
+            return;
+        }
+
+        ImageView packageIconImageView = (ImageView) findViewById(R.id.package_icon);
+        packageIconImageView.setImageDrawable(packageManager.getApplicationIcon(applicationInfo));
+        TextView packageNameTextView = (TextView) findViewById(R.id.package_name);
+        packageNameTextView.setText(packageManager.getApplicationLabel(applicationInfo));
+
+        TextView permissionNameTextView = (TextView) findViewById(R.id.permission_name);
+        permissionNameTextView.setText(CONTACTS_PERMISSION);
+
+        // Get the current permission grant state for initializing the RadioGroup.
+        int currentPermissionState = mDevicePolicyManager.getPermissionGrantState(mAdmin,
+                    PERMISSION_APP_PACKAGE, CONTACTS_PERMISSION);
+        RadioGroup permissionRadioGroup = (RadioGroup) findViewById(R.id.permission_group);
+        switch (currentPermissionState) {
+            case DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED: {
+                permissionRadioGroup.check(R.id.permission_allow);
+            } break;
+            case DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT: {
+                permissionRadioGroup.check(R.id.permission_default);
+            } break;
+            case  DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED: {
+                permissionRadioGroup.check(R.id.permission_deny);
+            } break;
+        }
+        permissionRadioGroup.setOnCheckedChangeListener(this);
+
+        addFinishOrPassFailButtons();
+    }
+
+    private void addFinishOrPassFailButtons() {
+        // In case of device owner, we include the pass-fail buttons where as in case of profile
+        // owner, we add a finish button.
+        ViewGroup parentView = (ViewGroup) findViewById(R.id.permission_lockdown_activity);
+        if (mDeviceOwnerTest) {
+            parentView.addView(
+                    getLayoutInflater().inflate(R.layout.pass_fail_buttons, parentView, false));
+            setInfoResources(R.string.device_profile_owner_permission_lockdown_test,
+                    R.string.device_owner_permission_lockdown_test_info, 0);
+            setPassFailButtonClickListeners();
+        } else {
+            Button finishButton = new Button(this);
+            finishButton.setText(R.string.finish_button_label);
+            finishButton.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    PermissionLockdownTestActivity.this.setTestResultAndFinish(false);
+                }
+            });
+            parentView.addView(finishButton);
+        }
+    }
+
+    // Dispatches an intent to open the Settings screen for CtsPermissionApp.
+    public void openSettings(View v) {
+        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+                .setData(Uri.fromParts("package", PERMISSION_APP_PACKAGE, null))
+                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        try {
+            startActivity(intent);
+        } catch (ActivityNotFoundException e) {
+            showToast(getString(R.string.activity_not_found, intent));
+        }
+    }
+
+    @Override
+    public void onCheckedChanged(RadioGroup radioGroup, int checkedId) {
+        int permissionGrantState = -1;
+        switch (checkedId) {
+            case R.id.permission_allow: {
+                permissionGrantState = DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED;
+            } break;
+            case R.id.permission_default: {
+                permissionGrantState = DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT;
+            } break;
+            case R.id.permission_deny: {
+                permissionGrantState = DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED;
+            } break;
+        }
+        mDevicePolicyManager.setPermissionGrantState(mAdmin, PERMISSION_APP_PACKAGE,
+                CONTACTS_PERMISSION, permissionGrantState);
+    }
+
+    private boolean isProfileOrDeviceOwner() {
+        String adminPackage = mAdmin.getPackageName();
+        if (mDeviceOwnerTest && !mDevicePolicyManager.isDeviceOwnerApp(adminPackage)) {
+            showToast(getString(R.string.not_device_owner, adminPackage));
+            return false;
+        } else if (!mDeviceOwnerTest && !mDevicePolicyManager.isProfileOwnerApp(adminPackage)) {
+            showToast(getString(R.string.not_profile_owner, adminPackage));
+            return false;
+        }
+        return true;
+    }
+
+    private void showToast(String toast) {
+        Toast.makeText(this, toast, Toast.LENGTH_LONG).show();
+    }
+}
\ No newline at end of file
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/WorkNotificationTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/WorkNotificationTestActivity.java
index c85ccf5..a912d2c 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/WorkNotificationTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/managedprovisioning/WorkNotificationTestActivity.java
@@ -19,7 +19,9 @@
 import android.app.Activity;
 import android.app.Notification;
 import android.app.NotificationManager;
+import android.app.admin.DevicePolicyManager;
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 
 import com.android.cts.verifier.R;
@@ -30,26 +32,37 @@
 public class WorkNotificationTestActivity extends Activity {
     public static final String ACTION_WORK_NOTIFICATION =
             "com.android.cts.verifier.managedprovisioning.WORK_NOTIFICATION";
+    public static final String ACTION_WORK_NOTIFICATION_ON_LOCKSCREEN =
+            "com.android.cts.verifier.managedprovisioning.LOCKSCREEN_NOTIFICATION";
     public static final String ACTION_CLEAR_WORK_NOTIFICATION =
             "com.android.cts.verifier.managedprovisioning.CLEAR_WORK_NOTIFICATION";
     private static final int NOTIFICATION_ID = 7;
+    private NotificationManager mNotificationManager;
+
+    private void showWorkNotification(int visibility) {
+        final Notification notification = new Notification.Builder(this)
+                .setSmallIcon(R.drawable.icon)
+                .setContentTitle(getString(R.string.provisioning_byod_work_notification_title))
+                .setVisibility(visibility)
+                .setAutoCancel(true)
+                .build();
+        mNotificationManager.notify(NOTIFICATION_ID, notification);
+    }
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         final String action = getIntent().getAction();
-        final NotificationManager notificationManager = (NotificationManager)
-                getSystemService(Context.NOTIFICATION_SERVICE);
+        mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
         if (ACTION_WORK_NOTIFICATION.equals(action)) {
-            final Notification notification = new Notification.Builder(this)
-                .setSmallIcon(R.drawable.icon)
-                .setContentTitle(getString(R.string.provisioning_byod_work_notification_title))
-                .setVisibility(Notification.VISIBILITY_PUBLIC)
-                .setAutoCancel(true)
-                .build();
-            notificationManager.notify(NOTIFICATION_ID, notification);
+            showWorkNotification(Notification.VISIBILITY_PUBLIC);
+        } else if (ACTION_WORK_NOTIFICATION_ON_LOCKSCREEN.equals(action)) {
+            DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(
+                    Context.DEVICE_POLICY_SERVICE);
+            dpm.lockNow();
+            showWorkNotification(Notification.VISIBILITY_PRIVATE);
         } else if (ACTION_CLEAR_WORK_NOTIFICATION.equals(action)) {
-            notificationManager.cancel(NOTIFICATION_ID);
+            mNotificationManager.cancel(NOTIFICATION_ID);
         }
         finish();
     }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java
new file mode 100644
index 0000000..ce5a3d4
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/LlcpVersionActivity.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.nfc;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.nfc.NdefMessage;
+import android.nfc.NdefRecord;
+import android.nfc.NfcAdapter;
+import android.nfc.NfcEvent;
+import android.nfc.NfcManager;
+import android.os.Build;
+import android.os.Bundle;
+import android.widget.TextView;
+
+import java.nio.charset.Charset;
+
+/**
+ * Test activity that sends a particular NDEF Push message to another NFC device.
+ */
+public class LlcpVersionActivity extends PassFailButtons.Activity implements
+        NfcAdapter.CreateNdefMessageCallback {
+
+    private static final int NFC_NOT_ENABLED_DIALOG_ID = 1;
+    private static final int NDEF_PUSH_NOT_ENABLED_DIALOG_ID = 2;
+
+    private NfcAdapter mNfcAdapter;
+    private TextView mTextView;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.pass_fail_text);
+        setInfoResources(R.string.nfc_llcp_version_check, R.string.nfc_llcp_version_check_info, 0);
+        setPassFailButtonClickListeners();
+        getPassButton().setEnabled(false);
+
+        mTextView = (TextView) findViewById(R.id.text);
+        mTextView.setText(R.string.nfc_llcp_version_check_info);
+
+        NfcManager nfcManager = (NfcManager) getSystemService(NFC_SERVICE);
+        mNfcAdapter = nfcManager.getDefaultAdapter();
+    }
+
+    private static NdefMessage getTestMessage() {
+        byte[] mimeBytes = "application/com.android.cts.verifier.nfc"
+                .getBytes(Charset.forName("US-ASCII"));
+        byte[] id = new byte[] {1, 3, 3, 7};
+        byte[] payload = "CTS Verifier NDEF Push Tag".getBytes(Charset.forName("US-ASCII"));
+        return new NdefMessage(new NdefRecord[] {
+                new NdefRecord(NdefRecord.TNF_MIME_MEDIA, mimeBytes, id, payload)
+        });
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        if (!mNfcAdapter.isEnabled()) {
+            showDialog(NFC_NOT_ENABLED_DIALOG_ID);
+        } else if (!mNfcAdapter.isNdefPushEnabled()) {
+            /* Sender must have NDEF push enabled */
+            showDialog(NDEF_PUSH_NOT_ENABLED_DIALOG_ID);
+        }
+
+        mNfcAdapter.setNdefPushMessageCallback(this, this);
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+    }
+
+    @Override
+    public Dialog onCreateDialog(int id, Bundle args) {
+        switch (id) {
+            case NFC_NOT_ENABLED_DIALOG_ID:
+                return NfcDialogs.createNotEnabledDialog(this);
+            case NDEF_PUSH_NOT_ENABLED_DIALOG_ID:
+                return NfcDialogs.createNdefPushNotEnabledDialog(this);
+            default:
+                return super.onCreateDialog(id, args);
+        }
+    }
+
+    @Override
+    public NdefMessage createNdefMessage(NfcEvent event) {
+        if (event.peerLlcpMajorVersion <= 1 && event.peerLlcpMinorVersion < 2) {
+            runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    mTextView.setText(R.string.nfc_llcp_version_check_failure);
+                }
+            });
+        } else {
+            runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    getPassButton().setEnabled(true);
+                    mTextView.setText(R.string.nfc_llcp_version_check_success);
+                }
+            });
+        }
+        return null;
+    }
+}
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
index f3f37c4..2f77895 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NdefPushSenderActivity.java
@@ -23,6 +23,7 @@
 import android.nfc.NdefMessage;
 import android.nfc.NdefRecord;
 import android.nfc.NfcAdapter;
+import android.nfc.NfcEvent;
 import android.nfc.NfcManager;
 import android.os.Bundle;
 import android.widget.TextView;
@@ -32,7 +33,8 @@
 /**
  * Test activity that sends a particular NDEF Push message to another NFC device.
  */
-public class NdefPushSenderActivity extends PassFailButtons.Activity {
+public class NdefPushSenderActivity extends PassFailButtons.Activity implements
+        NfcAdapter.CreateNdefMessageCallback {
 
     static final NdefMessage TEST_MESSAGE = getTestMessage();
 
@@ -76,13 +78,12 @@
             showDialog(NDEF_PUSH_NOT_ENABLED_DIALOG_ID);
         }
 
-        mNfcAdapter.enableForegroundNdefPush(this, TEST_MESSAGE);
+        mNfcAdapter.setNdefPushMessageCallback(this, this);
     }
 
     @Override
     protected void onPause() {
         super.onPause();
-        mNfcAdapter.disableForegroundNdefPush(this);
     }
 
     @Override
@@ -96,4 +97,9 @@
                 return super.onCreateDialog(id, args);
         }
     }
+
+    @Override
+    public NdefMessage createNdefMessage(NfcEvent event) {
+        return getTestMessage();
+    }
 }
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
index cb90241..68fc027 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/NfcTestActivity.java
@@ -28,6 +28,7 @@
 import android.nfc.tech.MifareUltralight;
 import android.nfc.tech.Ndef;
 import android.nfc.tech.TagTechnology;
+import android.os.Build;
 import android.os.Bundle;
 
 /** Activity that lists all the NFC tests. */
@@ -58,6 +59,11 @@
                 NdefPushReceiverActivity.class.getName(),
                 new Intent(this, NdefPushReceiverActivity.class), null));
 
+        if ("MNC".equals(Build.VERSION.CODENAME) || Build.VERSION.SDK_INT >= 23) {
+            adapter.add(TestListItem.newTest(this, R.string.nfc_llcp_version_check,
+                    LlcpVersionActivity.class.getName(),
+                    new Intent(this, LlcpVersionActivity.class), null));
+        }
         adapter.add(TestListItem.newCategory(this, R.string.nfc_tag_verification));
         adapter.add(TestListItem.newTest(this, R.string.nfc_ndef,
                 NDEF_ID, getTagIntent(Ndef.class), null));
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceReaderTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceReaderTestActivity.java
index 035ce86..879916b 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceReaderTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/nfc/hce/HceReaderTestActivity.java
@@ -40,12 +40,6 @@
 
         if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC_HOST_CARD_EMULATION)) {
             adapter.add(TestListItem.newCategory(this, R.string.nfc_hce_reader_tests));
-            /*
-             * Only add this test when supported in platform
-            adapter.add(TestListItem.newTest(this, R.string.nfc_hce_default_route_reader,
-                    SimpleReaderActivity.class.getName(),
-                    DefaultRouteEmulatorActivity.buildReaderIntent(this), null));
-             */
 
             adapter.add(TestListItem.newTest(this, R.string.nfc_hce_protocol_params_reader,
                     ProtocolParamsReaderActivity.class.getName(),
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
index d8f196a..4898ab2 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/AttentionManagementVerifierActivity.java
@@ -85,6 +85,7 @@
         tests.add(new InsertContactsTest());
         tests.add(new SetModeNoneTest());
         tests.add(new NoneInterceptsAllTest());
+        tests.add(new SetModeAllTest());
         tests.add(new SetModePriorityTest());
         tests.add(new PriorityInterceptsSomeTest());
         tests.add(new SetModeAllTest());
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/InteractiveVerifierActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/InteractiveVerifierActivity.java
index 07d9cc9..25a36b6 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/notifications/InteractiveVerifierActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/notifications/InteractiveVerifierActivity.java
@@ -165,8 +165,9 @@
     protected void onSaveInstanceState (Bundle outState) {
         final int stateIndex = mTestList.indexOf(mCurrentTest);
         outState.putInt(STATE, stateIndex);
-        outState.putInt(STATUS, mCurrentTest.status);
-        Log.i(TAG, "saved state(" + stateIndex + "}, status(" + (mCurrentTest.status) + ")");
+        final int status = mCurrentTest == null ? SETUP : mCurrentTest.status;
+        outState.putInt(STATUS, status);
+        Log.i(TAG, "saved state(" + stateIndex + "}, status(" + status + ")");
     }
 
     @Override
@@ -383,6 +384,7 @@
 
         @Override
         void test() {
+            mNm.cancelAll();
             Intent settings = new Intent(NOTIFICATION_LISTENER_SETTINGS);
             if (settings.resolveActivity(mPackageManager) == null) {
                 logFail("no settings activity");
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
index d133eda..920c9ae 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/p2p/P2pTestListActivity.java
@@ -125,12 +125,12 @@
      * If WiFi Direct is disabled, show the dialog to jump to system setting activity.
      **/
     @Override
-    protected void onListItemClick(ListView listView, View view, int position, long id) {
+    protected void handleItemClick(ListView listView, View view, int position, long id) {
         if (!mIsP2pEnabled) {
             showP2pEnableDialog();
             return;
         }
-        super.onListItemClick(listView, view, position, id);
+        super.handleItemClick(listView, view, position, id);
     }
 
     /**
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java
new file mode 100644
index 0000000..70899c6
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/FingerprintBoundKeysTest.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.security;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+
+import android.Manifest;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.os.Bundle;
+import android.os.CancellationSignal;
+import android.util.Log;
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyPermanentlyInvalidatedException;
+import android.security.keystore.KeyProperties;
+import android.security.keystore.UserNotAuthenticatedException;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.Toast;
+
+import java.io.IOException;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateException;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.KeyGenerator;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+
+public class FingerprintBoundKeysTest extends PassFailButtons.Activity {
+    private static final String TAG = "FingerprintBoundKeysTest";
+
+    /** Alias for our key in the Android Key Store. */
+    private static final String KEY_NAME = "my_key";
+    private static final byte[] SECRET_BYTE_ARRAY = new byte[] {1, 2, 3, 4, 5, 6};
+    private static final int AUTHENTICATION_DURATION_SECONDS = 5;
+    private static final int CONFIRM_CREDENTIALS_REQUEST_CODE = 1;
+    private static final int FINGERPRINT_PERMISSION_REQUEST_CODE = 0;
+
+    private FingerprintManager mFingerprintManager;
+    private KeyguardManager mKeyguardManager;
+    private FingerprintAuthDialogFragment mFingerprintDialog;
+    private Cipher mCipher;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.sec_screen_lock_keys_main);
+        setPassFailButtonClickListeners();
+        setInfoResources(R.string.sec_fingerprint_bound_key_test, R.string.sec_fingerprint_bound_key_test_info, -1);
+        getPassButton().setEnabled(false);
+        requestPermissions(new String[]{Manifest.permission.USE_FINGERPRINT},
+                FINGERPRINT_PERMISSION_REQUEST_CODE);
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] state) {
+        if (requestCode == FINGERPRINT_PERMISSION_REQUEST_CODE && state[0] == PackageManager.PERMISSION_GRANTED) {
+            mFingerprintManager = (FingerprintManager) getSystemService(Context.FINGERPRINT_SERVICE);
+            mKeyguardManager = (KeyguardManager) getSystemService(KeyguardManager.class);
+
+            try {
+                KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
+                keyStore.load(null);
+                SecretKey secretKey = (SecretKey) keyStore.getKey(KEY_NAME, null);
+                mCipher = Cipher.getInstance(KeyProperties.KEY_ALGORITHM_AES + "/"
+                            + KeyProperties.BLOCK_MODE_CBC + "/"
+                            + KeyProperties.ENCRYPTION_PADDING_PKCS7);
+
+                mCipher.init(Cipher.ENCRYPT_MODE, secretKey);
+            } catch (KeyPermanentlyInvalidatedException e) {
+                createKey();
+                showToast("The key has been invalidated, please try again.\n");
+            } catch (NoSuchPaddingException | KeyStoreException | CertificateException | UnrecoverableKeyException | IOException
+                    | NoSuchAlgorithmException | InvalidKeyException e) {
+                throw new RuntimeException("Failed to init Cipher", e);
+            }
+
+            Button startTestButton = (Button) findViewById(R.id.sec_start_test_button);
+            startTestButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (tryEncrypt()) {
+                        showToast("Test failed. Key accessible without auth.");
+                    } else {
+                        showAuthenticationScreen();
+                    }
+                }
+
+            });
+
+            if (!mKeyguardManager.isKeyguardSecure()) {
+                // Show a message that the user hasn't set up a lock screen.
+                showToast( "Secure lock screen hasn't been set up.\n"
+                                + "Go to 'Settings -> Security -> Screen lock' to set up a lock screen");
+                startTestButton.setEnabled(false);
+            } else if (!mFingerprintManager.hasEnrolledFingerprints()) {
+                showToast("No fingerprints enrolled.\n"
+                                + "Go to 'Settings -> Security -> Fingerprint' to set up a fingerprint");
+                startTestButton.setEnabled(false);
+            } else {
+                createKey();
+            }
+        }
+    }
+
+    /**
+     * Creates a symmetric key in the Android Key Store which can only be used after the user has
+     * authenticated with device credentials within the last X seconds.
+     */
+    private void createKey() {
+        // Generate a key to decrypt payment credentials, tokens, etc.
+        // This will most likely be a registration step for the user when they are setting up your app.
+        try {
+            KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
+            keyStore.load(null);
+            KeyGenerator keyGenerator = KeyGenerator.getInstance(
+                    KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");
+
+            // Set the alias of the entry in Android KeyStore where the key will appear
+            // and the constrains (purposes) in the constructor of the Builder
+            keyGenerator.init(new KeyGenParameterSpec.Builder(KEY_NAME,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
+                    .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
+                    .setUserAuthenticationRequired(true)
+                    .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
+                    .build());
+            keyGenerator.generateKey();
+        } catch (NoSuchAlgorithmException | NoSuchProviderException
+                | InvalidAlgorithmParameterException | KeyStoreException
+                | CertificateException | IOException e) {
+            throw new RuntimeException("Failed to create a symmetric key", e);
+        }
+    }
+
+    /**
+     * Tries to encrypt some data with the generated key in {@link #createKey} which is
+     * only works if the user has just authenticated via device credentials.
+     */
+    private boolean tryEncrypt() {
+        try {
+            mCipher.doFinal(SECRET_BYTE_ARRAY);
+            return true;
+        } catch (BadPaddingException | IllegalBlockSizeException e) {
+            return false;
+        }
+    }
+
+    private void showAuthenticationScreen() {
+        mFingerprintDialog = new FingerprintAuthDialogFragment();
+        mFingerprintDialog.show(getFragmentManager(), "fingerprint_dialog");
+    }
+
+    private void showToast(String message) {
+        Toast.makeText(this, message, Toast.LENGTH_LONG)
+            .show();
+    }
+
+    public class FingerprintAuthDialogFragment extends DialogFragment {
+
+        private CancellationSignal mCancellationSignal;
+        private FingerprintManagerCallback mFingerprintManagerCallback;
+        private boolean mSelfCancelled;
+
+        class FingerprintManagerCallback extends FingerprintManager.AuthenticationCallback {
+            @Override
+            public void onAuthenticationError(int errMsgId, CharSequence errString) {
+                if (!mSelfCancelled) {
+                    showToast(errString.toString());
+                }
+            }
+
+            @Override
+            public void onAuthenticationHelp(int helpMsgId, CharSequence helpString) {
+                showToast(helpString.toString());
+            }
+
+            @Override
+            public void onAuthenticationFailed() {
+                showToast(getString(R.string.sec_fp_auth_failed));
+            }
+
+            @Override
+            public void onAuthenticationSucceeded(FingerprintManager.AuthenticationResult result) {
+                if (tryEncrypt()) {
+                    showToast("Test passed.");
+                    getPassButton().setEnabled(true);
+                    FingerprintAuthDialogFragment.this.dismiss();
+                } else {
+                    showToast("Test failed. Key not accessible after auth");
+                }
+            }
+        }
+
+        @Override
+        public void onDismiss(DialogInterface dialog) {
+            mCancellationSignal.cancel();
+            mSelfCancelled = true;
+        }
+
+        @Override
+        public Dialog onCreateDialog(Bundle savedInstanceState) {
+            mCancellationSignal = new CancellationSignal();
+            mSelfCancelled = false;
+            mFingerprintManagerCallback = new FingerprintManagerCallback();
+            mFingerprintManager.authenticate(new FingerprintManager.CryptoObject(mCipher),
+                    mCancellationSignal, 0, mFingerprintManagerCallback, null);
+            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+            builder.setMessage(R.string.sec_fp_dialog_message);
+            return builder.create();
+        }
+
+    }
+}
+
+
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java b/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java
new file mode 100644
index 0000000..863488b
--- /dev/null
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/security/ScreenLockBoundKeysTest.java
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.verifier.security;
+
+import com.android.cts.verifier.PassFailButtons;
+import com.android.cts.verifier.R;
+
+import android.app.AlertDialog;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyPermanentlyInvalidatedException;
+import android.security.keystore.KeyProperties;
+import android.security.keystore.UserNotAuthenticatedException;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.Toast;
+
+import java.io.IOException;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateException;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.KeyGenerator;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+
+public class ScreenLockBoundKeysTest extends PassFailButtons.Activity {
+
+    /** Alias for our key in the Android Key Store. */
+    private static final String KEY_NAME = "my_lock_key";
+    private static final byte[] SECRET_BYTE_ARRAY = new byte[] {1, 2, 3, 4, 5, 6};
+    private static final int AUTHENTICATION_DURATION_SECONDS = 5;
+    private static final int CONFIRM_CREDENTIALS_REQUEST_CODE = 1;
+
+    private KeyguardManager mKeyguardManager;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.sec_screen_lock_keys_main);
+        setPassFailButtonClickListeners();
+        setInfoResources(R.string.sec_lock_bound_key_test, R.string.sec_lock_bound_key_test_info, -1);
+
+        mKeyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
+
+        getPassButton().setEnabled(false);
+
+        Button startTestButton = (Button) findViewById(R.id.sec_start_test_button);
+        startTestButton.setOnClickListener(new OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showToast("Test running...");
+                v.postDelayed(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (tryEncrypt()) {
+                            showToast("Test failed. Key accessible without auth.");
+                        } else {
+                            showAuthenticationScreen();
+                        }
+                    }
+                },
+                AUTHENTICATION_DURATION_SECONDS * 1000);
+            }
+
+        });
+
+        if (!mKeyguardManager.isKeyguardSecure()) {
+            // Show a message that the user hasn't set up a lock screen.
+            Toast.makeText(this,
+                    "Secure lock screen hasn't set up.\n"
+                            + "Go to 'Settings -> Security -> Screenlock' to set up a lock screen",
+                    Toast.LENGTH_LONG).show();
+            startTestButton.setEnabled(false);
+            return;
+        }
+
+        createKey();
+    }
+
+    /**
+     * Creates a symmetric key in the Android Key Store which can only be used after the user has
+     * authenticated with device credentials within the last X seconds.
+     */
+    private void createKey() {
+        // Generate a key to decrypt payment credentials, tokens, etc.
+        // This will most likely be a registration step for the user when they are setting up your app.
+        try {
+            KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
+            keyStore.load(null);
+            KeyGenerator keyGenerator = KeyGenerator.getInstance(
+                    KeyProperties.KEY_ALGORITHM_AES, "AndroidKeyStore");
+
+            // Set the alias of the entry in Android KeyStore where the key will appear
+            // and the constrains (purposes) in the constructor of the Builder
+            keyGenerator.init(new KeyGenParameterSpec.Builder(KEY_NAME,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
+                    .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
+                    .setUserAuthenticationRequired(true)
+                            // Require that the user has unlocked in the last 30 seconds
+                    .setUserAuthenticationValidityDurationSeconds(AUTHENTICATION_DURATION_SECONDS)
+                    .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
+                    .build());
+            keyGenerator.generateKey();
+        } catch (NoSuchAlgorithmException | NoSuchProviderException
+                | InvalidAlgorithmParameterException | KeyStoreException
+                | CertificateException | IOException e) {
+            throw new RuntimeException("Failed to create a symmetric key", e);
+        }
+    }
+
+    /**
+     * Tries to encrypt some data with the generated key in {@link #createKey} which is
+     * only works if the user has just authenticated via device credentials.
+     */
+    private boolean tryEncrypt() {
+        try {
+            KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
+            keyStore.load(null);
+            SecretKey secretKey = (SecretKey) keyStore.getKey(KEY_NAME, null);
+            Cipher cipher = Cipher.getInstance(
+                    KeyProperties.KEY_ALGORITHM_AES + "/" + KeyProperties.BLOCK_MODE_CBC + "/"
+                            + KeyProperties.ENCRYPTION_PADDING_PKCS7);
+
+            // Try encrypting something, it will only work if the user authenticated within
+            // the last AUTHENTICATION_DURATION_SECONDS seconds.
+            cipher.init(Cipher.ENCRYPT_MODE, secretKey);
+            cipher.doFinal(SECRET_BYTE_ARRAY);
+            return true;
+        } catch (UserNotAuthenticatedException e) {
+            // User is not authenticated, let's authenticate with device credentials.
+            return false;
+        } catch (KeyPermanentlyInvalidatedException e) {
+            // This happens if the lock screen has been disabled or reset after the key was
+            // generated after the key was generated.
+            createKey();
+            Toast.makeText(this, "Set up lockscreen after test ran. Retry the test.\n"
+                            + e.getMessage(),
+                    Toast.LENGTH_LONG).show();
+            return false;
+        } catch (BadPaddingException | IllegalBlockSizeException | KeyStoreException |
+                CertificateException | UnrecoverableKeyException | IOException
+                | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeyException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private void showAuthenticationScreen() {
+        // Create the Confirm Credentials screen. You can customize the title and description. Or
+        // we will provide a generic one for you if you leave it null
+        Intent intent = mKeyguardManager.createConfirmDeviceCredentialIntent(null, null);
+        if (intent != null) {
+            startActivityForResult(intent, CONFIRM_CREDENTIALS_REQUEST_CODE);
+        }
+    }
+
+    private void showToast(String message) {
+        Toast.makeText(this, message, Toast.LENGTH_LONG)
+            .show();
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        switch (requestCode) {
+            case CONFIRM_CREDENTIALS_REQUEST_CODE:
+                if (resultCode == RESULT_OK) {
+                    if (tryEncrypt()) {
+                        showToast("Test passed.");
+                        getPassButton().setEnabled(true);
+                    } else {
+                        showToast("Test failed. Key not accessible after auth");
+                    }
+                }
+        }
+    }
+}
+
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
index d066fce..83e3054 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/sensors/DeviceSuspendTestActivity.java
@@ -55,7 +55,7 @@
         private PendingIntent mPendingIntent;
         private AlarmManager mAlarmManager;
         private static String ACTION_ALARM = "DeviceSuspendTestActivity.ACTION_ALARM";
-        private static String TAG = "DeviceSuspendTestActivity";
+        private static String TAG = "DeviceSuspendSensorTest";
         private SensorManager mSensorManager;
 
         @Override
@@ -169,6 +169,22 @@
             return runAPWakeUpWhenFIFOFull(wakeUpSensor);
         }
 
+        public String testAccelBatchingInAPSuspendLargeReportLatency() throws Throwable {
+            Sensor accel = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+            if (accel == null) {
+                throw new SensorNotSupportedException(Sensor.TYPE_ACCELEROMETER, false);
+            }
+            return runAPWakeUpByAlarmNonWakeSensor(accel, (int)TimeUnit.SECONDS.toMicros(1000));
+        }
+
+        public String testAccelBatchingInAPSuspendZeroReportLatency() throws Throwable {
+            Sensor accel = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
+           if (accel == null) {
+                throw new SensorNotSupportedException(Sensor.TYPE_ACCELEROMETER, false);
+            }
+            return runAPWakeUpByAlarmNonWakeSensor(accel, 0);
+        }
+
         public String runAPWakeUpWhenReportLatencyExpires(Sensor sensor) throws Throwable {
             int fifoMaxEventCount = sensor.getFifoMaxEventCount();
             if (fifoMaxEventCount == 0) {
@@ -196,9 +212,7 @@
                     MAX_REPORT_LATENCY_US,
                     true /*isDeviceSuspendTest*/);
 
-            int numEventsToWaitFor = MAX_REPORT_LATENCY_US/maximumExpectedSamplingPeriodUs;
             TestSensorOperation op = TestSensorOperation.createOperation(environment,
-                                                                          numEventsToWaitFor,
                                                                           mDeviceSuspendLock,
                                                                           false);
             final int ALARM_WAKE_UP_DELAY_MS = MAX_REPORT_LATENCY_US/1000 +
@@ -208,6 +222,7 @@
                                     SystemClock.elapsedRealtime() + ALARM_WAKE_UP_DELAY_MS,
                                     mPendingIntent);
             try {
+                Log.i(TAG, "Running .. " + getCurrentTestNode().getName() + " " + sensor.getName());
                 op.execute(getCurrentTestNode());
             } finally {
                 mAlarmManager.cancel(mPendingIntent);
@@ -244,16 +259,59 @@
                     MAX_REPORT_LATENCY_US,
                     true /*isDeviceSuspendTest*/);
 
-           int numEventsToWaitFor = fifoMaxEventCount;
-            TestSensorOperation op = TestSensorOperation.createOperation(environment,
-                                                                          numEventsToWaitFor,
-                                                                          mDeviceSuspendLock,
-                                                                         true);
+           TestSensorOperation op = TestSensorOperation.createOperation(environment,
+                                                                        mDeviceSuspendLock,
+                                                                        true);
             mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                                     SystemClock.elapsedRealtime() + ALARM_WAKE_UP_DELAY_MS,
                                     mPendingIntent);
             op.addDefaultVerifications();
             try {
+                Log.i(TAG, "Running .. " + getCurrentTestNode().getName() + " " + sensor.getName());
+                op.execute(getCurrentTestNode());
+            } finally {
+                mAlarmManager.cancel(mPendingIntent);
+            }
+            return null;
+        }
+
+        public String runAPWakeUpByAlarmNonWakeSensor(Sensor sensor, int maxReportLatencyUs)
+            throws  Throwable {
+            int fifoMaxEventCount = sensor.getFifoMaxEventCount();
+            if (fifoMaxEventCount == 0) {
+                throw new SensorTestStateNotSupportedException("Batching not supported.");
+            }
+            int maximumExpectedSamplingPeriodUs = sensor.getMaxDelay();
+            if (maximumExpectedSamplingPeriodUs == 0 ||
+                    maximumExpectedSamplingPeriodUs > 200000) {
+                // If maxDelay is not defined, set the value for 5 Hz.
+                maximumExpectedSamplingPeriodUs = 200000;
+            }
+            int fifoBasedReportLatencyUs = fifoMaxEventCount * maximumExpectedSamplingPeriodUs;
+
+            // Ensure that FIFO based report latency is at least 20 seconds, we need at least 10
+            // seconds of time to allow the device to be in suspend state.
+            if (fifoBasedReportLatencyUs < 20000000L) {
+                throw new SensorTestStateNotSupportedException("FIFO too small to test reliably");
+            }
+
+            TestSensorEnvironment environment = new TestSensorEnvironment(
+                    this,
+                    sensor,
+                    false,
+                    maximumExpectedSamplingPeriodUs,
+                    maxReportLatencyUs,
+                    true /*isDeviceSuspendTest*/);
+
+            final int ALARM_WAKE_UP_DELAY_MS = 20000;
+            TestSensorOperation op = TestSensorOperation.createOperation(environment,
+                                                                         mDeviceSuspendLock,
+                                                                         true);
+            mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,
+                                    SystemClock.elapsedRealtime() + ALARM_WAKE_UP_DELAY_MS,
+                                    mPendingIntent);
+            try {
+                Log.i(TAG, "Running .. " + getCurrentTestNode().getName() + " " + sensor.getName());
                 op.execute(getCurrentTestNode());
             } finally {
                 mAlarmManager.cancel(mPendingIntent);
diff --git a/apps/PermissionApp/Android.mk b/apps/PermissionApp/Android.mk
new file mode 100644
index 0000000..57950da
--- /dev/null
+++ b/apps/PermissionApp/Android.mk
@@ -0,0 +1,31 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# Don't include this package in any target.
+LOCAL_MODULE_TAGS := optional
+
+# When built, explicitly put it in the data partition.
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsPermissionApp
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_PACKAGE)
diff --git a/apps/PermissionApp/AndroidManifest.xml b/apps/PermissionApp/AndroidManifest.xml
new file mode 100644
index 0000000..82e3617
--- /dev/null
+++ b/apps/PermissionApp/AndroidManifest.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.cts.permissionapp">
+
+    <uses-sdk android:minSdkVersion="23"/>
+
+    <uses-permission android:name="android.permission.READ_CONTACTS"/>
+
+    <application android:label="CtsPermissionApp"
+            android:icon="@drawable/ic_permissionapp">
+        <activity android:name=".PermissionActivity" >
+            <intent-filter>
+                <action android:name="com.android.cts.permission.action.CHECK_HAS_PERMISSION" />
+                <action android:name="com.android.cts.permission.action.REQUEST_PERMISSION" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+    </application>
+
+</manifest>
+
diff --git a/apps/PermissionApp/res/drawable-hdpi/ic_permissionapp.png b/apps/PermissionApp/res/drawable-hdpi/ic_permissionapp.png
new file mode 100644
index 0000000..6fe4112
--- /dev/null
+++ b/apps/PermissionApp/res/drawable-hdpi/ic_permissionapp.png
Binary files differ
diff --git a/apps/PermissionApp/res/drawable-mdpi/ic_permissionapp.png b/apps/PermissionApp/res/drawable-mdpi/ic_permissionapp.png
new file mode 100644
index 0000000..a7a5666
--- /dev/null
+++ b/apps/PermissionApp/res/drawable-mdpi/ic_permissionapp.png
Binary files differ
diff --git a/apps/PermissionApp/res/drawable-xhdpi/ic_permissionapp.png b/apps/PermissionApp/res/drawable-xhdpi/ic_permissionapp.png
new file mode 100644
index 0000000..1e47732
--- /dev/null
+++ b/apps/PermissionApp/res/drawable-xhdpi/ic_permissionapp.png
Binary files differ
diff --git a/apps/PermissionApp/res/drawable-xxhdpi/ic_permissionapp.png b/apps/PermissionApp/res/drawable-xxhdpi/ic_permissionapp.png
new file mode 100644
index 0000000..0e849b3
--- /dev/null
+++ b/apps/PermissionApp/res/drawable-xxhdpi/ic_permissionapp.png
Binary files differ
diff --git a/apps/PermissionApp/res/drawable-xxxhdpi/ic_permissionapp.png b/apps/PermissionApp/res/drawable-xxxhdpi/ic_permissionapp.png
new file mode 100644
index 0000000..242a6b1
--- /dev/null
+++ b/apps/PermissionApp/res/drawable-xxxhdpi/ic_permissionapp.png
Binary files differ
diff --git a/apps/PermissionApp/src/com/android/cts/permission/permissionapp/PermissionActivity.java b/apps/PermissionApp/src/com/android/cts/permission/permissionapp/PermissionActivity.java
new file mode 100644
index 0000000..01b60d3
--- /dev/null
+++ b/apps/PermissionApp/src/com/android/cts/permission/permissionapp/PermissionActivity.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.permissionapp;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import java.lang.Override;
+
+/**
+ * A simple activity that requests permissions and returns the result.
+ */
+public class PermissionActivity extends Activity {
+    private static final String TAG = "PermissionActivity";
+
+    private static final String ACTION_CHECK_HAS_PERMISSION
+            = "com.android.cts.permission.action.CHECK_HAS_PERMISSION";
+    private static final String ACTION_REQUEST_PERMISSION
+            = "com.android.cts.permission.action.REQUEST_PERMISSION";
+    private static final String ACTION_PERMISSION_RESULT
+            = "com.android.cts.permission.action.PERMISSION_RESULT";
+    private static final String EXTRA_PERMISSION
+            = "com.android.cts.permission.extra.PERMISSION";
+    private static final String EXTRA_GRANT_STATE
+            = "com.android.cts.permission.extra.GRANT_STATE";
+    private static final int PERMISSION_ERROR = -2;
+    private static final int PERMISSIONS_REQUEST_CODE = 100;
+
+    private String mPermission;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        final Intent received = getIntent();
+        Log.d(TAG, "Started with " + received);
+
+        final String action = received.getAction();
+        mPermission = received.getStringExtra(EXTRA_PERMISSION);
+        if (ACTION_REQUEST_PERMISSION.equals(action)) {
+            Log.d(TAG, "Requesting permission " + mPermission);
+            requestPermissions(new String[] {mPermission}, PERMISSIONS_REQUEST_CODE);
+        } else if (ACTION_CHECK_HAS_PERMISSION.equals(action)) {
+            Log.d(TAG, "Checking permission " + mPermission);
+            sendResultBroadcast(checkSelfPermission(mPermission));
+        } else {
+            Log.w(TAG, "Unknown intent received: " + received);
+            finish();
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            int[] grantResults) {
+        if (requestCode != PERMISSIONS_REQUEST_CODE ||
+                permissions.length != 1 ||
+                !permissions[0].equals(mPermission)) {
+            Log.d(TAG, "Received wrong permissions result");
+            sendResultBroadcast(PERMISSION_ERROR);
+        } else {
+            Log.d(TAG, "Received valid permission result: " + grantResults[0]);
+            sendResultBroadcast(grantResults[0]);
+        }
+    }
+
+    private void sendResultBroadcast(int result) {
+        Log.d(TAG, "Sending result broadcast: " + result);
+        Intent broadcast = new Intent(ACTION_PERMISSION_RESULT);
+        broadcast.putExtra(EXTRA_GRANT_STATE, result);
+        sendBroadcast(broadcast);
+        finish();
+    }
+}
diff --git a/build/config.mk b/build/config.mk
index ffc71ba..56d4ae6 100644
--- a/build/config.mk
+++ b/build/config.mk
@@ -47,3 +47,4 @@
 BUILD_CTS_DEQP_PACKAGE := cts/build/test_deqp_package.mk
 BUILD_CTS_SUPPORT_PACKAGE := cts/build/support_package.mk
 BUILD_CTS_MODULE_TEST_CONFIG := cts/build/module_test_config.mk
+BUILD_CTS_DEVICE_INFO_PACKAGE := cts/build/device_info_package.mk
diff --git a/build/device_info_package.mk b/build/device_info_package.mk
new file mode 100644
index 0000000..600f6a1
--- /dev/null
+++ b/build/device_info_package.mk
@@ -0,0 +1,67 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Builds a package which can be instrumented to retrieve information about the device under test.
+#
+
+DEVICE_INFO_PACKAGE := com.android.compatibility.common.deviceinfo
+DEVICE_INFO_INSTRUMENT := com.android.compatibility.common.deviceinfo.DeviceInfoInstrument
+DEVICE_INFO_PERMISSIONS += android.permission.WRITE_EXTERNAL_STORAGE
+DEVICE_INFO_ACTIVITIES += $(DEVICE_INFO_PACKAGE).GenericDeviceInfo
+
+# Add the base device info
+LOCAL_STATIC_JAVA_LIBRARIES += compatibility-device-info
+
+# Generator of APK manifests.
+MANIFEST_GENERATOR_JAR := $(HOST_OUT_JAVA_LIBRARIES)/compatibility-manifest-generator.jar
+MANIFEST_GENERATOR := java -jar $(MANIFEST_GENERATOR_JAR)
+
+# Generate the manifest
+manifest_xml := $(call intermediates-dir-for,APPS,$(LOCAL_PACKAGE_NAME))/AndroidManifest.xml
+$(manifest_xml): PRIVATE_INFO_PERMISSIONS := $(foreach permission, $(DEVICE_INFO_PERMISSIONS),-r $(permission))
+$(manifest_xml): PRIVATE_INFO_ACTIVITIES := $(foreach activity,$(DEVICE_INFO_ACTIVITIES),-a $(activity))
+$(manifest_xml): PRIVATE_PACKAGE := $(DEVICE_INFO_PACKAGE)
+$(manifest_xml): PRIVATE_INSTRUMENT := $(DEVICE_INFO_INSTRUMENT)
+
+# Regenerate manifest.xml if the generator jar, */cts-device-info/Android.mk, or this file is changed.
+$(manifest_xml): $(MANIFEST_GENERATOR_JAR) $(LOCAL_PATH)/Android.mk cts/build/device_info_package.mk
+	$(hide) echo Generating manifest for $(PRIVATE_NAME)
+	$(hide) mkdir -p $(dir $@)
+	$(hide) $(MANIFEST_GENERATOR) \
+						$(PRIVATE_INFO_PERMISSIONS) \
+						$(PRIVATE_INFO_ACTIVITIES) \
+						-p $(PRIVATE_PACKAGE) \
+						-i $(PRIVATE_INSTRUMENT) \
+						-o $@
+
+# Reset variables
+DEVICE_INFO_PACKAGE :=
+DEVICE_INFO_INSTRUMENT :=
+DEVICE_INFO_PERMISSIONS :=
+DEVICE_INFO_ACTIVITIES :=
+
+LOCAL_FULL_MANIFEST_FILE := $(manifest_xml)
+# Disable by default
+LOCAL_DEX_PREOPT := false
+LOCAL_PROGUARD_ENABLED := disabled
+
+# Don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# And when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/common/device-side/device-info/Android.mk b/common/device-side/device-info/Android.mk
new file mode 100644
index 0000000..8c5052b
--- /dev/null
+++ b/common/device-side/device-info/Android.mk
@@ -0,0 +1,29 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE := compatibility-device-info
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivity.java b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivity.java
new file mode 100644
index 0000000..62e512c
--- /dev/null
+++ b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivity.java
@@ -0,0 +1,404 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Environment;
+import android.text.TextUtils;
+import android.util.JsonWriter;
+import android.util.Log;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * Collect device information on target device and write to a JSON file.
+ */
+public abstract class DeviceInfoActivity extends Activity {
+
+    /** Device info result code: collector failed to complete. */
+    private static final int DEVICE_INFO_RESULT_FAILED = -2;
+    /** Device info result code: collector completed with error. */
+    private static final int DEVICE_INFO_RESULT_ERROR = -1;
+    /** Device info result code: collector has started but not completed. */
+    private static final int DEVICE_INFO_RESULT_STARTED = 0;
+    /** Device info result code: collector completed success. */
+    private static final int DEVICE_INFO_RESULT_OK = 1;
+
+    private static final int MAX_STRING_VALUE_LENGTH = 1000;
+    private static final int MAX_ARRAY_LENGTH = 1000;
+
+    private static final String LOG_TAG = "DeviceInfoActivity";
+
+    private CountDownLatch mDone = new CountDownLatch(1);
+    private JsonWriter mJsonWriter = null;
+    private String mResultFilePath = null;
+    private String mErrorMessage = "Collector has started.";
+    private int mResultCode = DEVICE_INFO_RESULT_STARTED;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (createFilePath()) {
+            createJsonWriter();
+            startJsonWriter();
+            collectDeviceInfo();
+            closeJsonWriter();
+
+            if (mResultCode == DEVICE_INFO_RESULT_STARTED) {
+                mResultCode = DEVICE_INFO_RESULT_OK;
+            }
+        }
+
+        Intent data = new Intent();
+        if (mResultCode == DEVICE_INFO_RESULT_OK) {
+            data.setData(Uri.parse(mResultFilePath));
+            setResult(RESULT_OK, data);
+        } else {
+            data.setData(Uri.parse(mErrorMessage));
+            setResult(RESULT_CANCELED, data);
+        }
+
+        mDone.countDown();
+        finish();
+    }
+
+    /**
+     * Method to collect device information.
+     */
+    protected abstract void collectDeviceInfo();
+
+    void waitForActivityToFinish() {
+        try {
+            mDone.await();
+        } catch (Exception e) {
+            failed("Exception while waiting for activity to finish: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Returns the error message if collector did not complete successfully.
+     */
+    String getErrorMessage() {
+        if (mResultCode == DEVICE_INFO_RESULT_OK) {
+            return null;
+        }
+        return mErrorMessage;
+    }
+
+    /**
+     * Returns the path to the json file if collector completed successfully.
+     */
+    String getResultFilePath() {
+        if (mResultCode == DEVICE_INFO_RESULT_OK) {
+            return mResultFilePath;
+        }
+        return null;
+    }
+
+    private void error(String message) {
+        mResultCode = DEVICE_INFO_RESULT_ERROR;
+        mErrorMessage = message;
+        Log.e(LOG_TAG, message);
+    }
+
+    private void failed(String message) {
+        mResultCode = DEVICE_INFO_RESULT_FAILED;
+        mErrorMessage = message;
+        Log.e(LOG_TAG, message);
+    }
+
+    private boolean createFilePath() {
+        if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
+            failed("External storage is not mounted");
+            return false;
+        }
+        final File dir = new File(Environment.getExternalStorageDirectory(), "device-info-files");
+        if (!dir.mkdirs() && !dir.isDirectory()) {
+            failed("Cannot create directory for device info files");
+            return false;
+        }
+
+        // Create file at /sdcard/device-info-files/<class_name>.deviceinfo.json
+        final File jsonFile = new File(dir, getClass().getSimpleName() + ".deviceinfo.json");
+        try {
+            jsonFile.createNewFile();
+        } catch (Exception e) {
+            failed("Cannot create file to collect device info");
+            return false;
+        }
+        mResultFilePath = jsonFile.getAbsolutePath();
+        return true;
+    }
+
+    private void createJsonWriter() {
+        try {
+            FileOutputStream out = new FileOutputStream(mResultFilePath);
+            mJsonWriter = new JsonWriter(new OutputStreamWriter(out, StandardCharsets.UTF_8));
+            // TODO(agathaman): remove to make json output less pretty
+            mJsonWriter.setIndent("  ");
+        } catch (Exception e) {
+            failed("Failed to create JSON writer: " + e.getMessage());
+        }
+    }
+
+    private void startJsonWriter() {
+        try {
+            mJsonWriter.beginObject();
+        } catch (Exception e) {
+            failed("Failed to begin JSON object: " + e.getMessage());
+        }
+    }
+
+    private void closeJsonWriter() {
+        try {
+            mJsonWriter.endObject();
+            mJsonWriter.close();
+        } catch (Exception e) {
+            failed("Failed to close JSON object: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Start a new group of result.
+     */
+    public void startGroup(String name) {
+        try {
+            mJsonWriter.name(name);
+            mJsonWriter.beginObject();
+        } catch (Exception e) {
+            error("Failed to begin JSON group: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Complete adding result to the last started group.
+     */
+    public void endGroup() {
+        try {
+            mJsonWriter.endObject();
+        } catch (Exception e) {
+            error("Failed to end JSON group: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a double value result.
+     */
+    public void addResult(String name, double value) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name).value(value);
+        } catch (Exception e) {
+            error("Failed to add result for type double: " + e.getMessage());
+        }
+    }
+
+    /**
+    * Add a long value result.
+    */
+    public void addResult(String name, long value) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name).value(value);
+        } catch (Exception e) {
+            error("Failed to add result for type long: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add an int value result.
+     */
+    public void addResult(String name, int value) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name).value((Number) value);
+        } catch (Exception e) {
+            error("Failed to add result for type int: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a boolean value result.
+     */
+    public void addResult(String name, boolean value) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name).value(value);
+        } catch (Exception e) {
+            error("Failed to add result for type boolean: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a String value result.
+     */
+    public void addResult(String name, String value) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name).value(checkString(value));
+        } catch (Exception e) {
+            error("Failed to add result for type String: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a double array result.
+     */
+    public void addArray(String name, double[] list) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name);
+            mJsonWriter.beginArray();
+            for (double value : checkArray(list)) {
+                mJsonWriter.value(value);
+            }
+            mJsonWriter.endArray();
+        } catch (Exception e) {
+            error("Failed to add result array for type double: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a long array result.
+     */
+    public void addArray(String name, long[] list) {
+        checkName(name);
+        try {
+        mJsonWriter.name(name);
+        mJsonWriter.beginArray();
+        for (long value : checkArray(list)) {
+            mJsonWriter.value(value);
+        }
+            mJsonWriter.endArray();
+        } catch (Exception e) {
+            error("Failed to add result array for type long: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add an int array result.
+     */
+    public void addArray(String name, int[] list) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name);
+            mJsonWriter.beginArray();
+            for (int value : checkArray(list)) {
+                mJsonWriter.value((Number) value);
+            }
+            mJsonWriter.endArray();
+        } catch (Exception e) {
+            error("Failed to add result array for type int: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a boolean array result.
+     */
+    public void addArray(String name, boolean[] list) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name);
+            mJsonWriter.beginArray();
+            for (boolean value : checkArray(list)) {
+                mJsonWriter.value(value);
+            }
+            mJsonWriter.endArray();
+        } catch (Exception e) {
+            error("Failed to add result array for type boolean: " + e.getMessage());
+        }
+    }
+
+    /**
+     * Add a String array result.
+     */
+    public void addArray(String name, String[] list) {
+        checkName(name);
+        try {
+            mJsonWriter.name(name);
+            mJsonWriter.beginArray();
+            for (String value : checkArray(list)) {
+                mJsonWriter.value(checkString(value));
+            }
+            mJsonWriter.endArray();
+        } catch (Exception e) {
+            error("Failed to add result array for type Sting: " + e.getMessage());
+        }
+    }
+
+    private static boolean[] checkArray(boolean[] values) {
+        if (values.length > MAX_ARRAY_LENGTH) {
+            return Arrays.copyOf(values, MAX_ARRAY_LENGTH);
+        } else {
+            return values;
+        }
+    }
+
+    private static double[] checkArray(double[] values) {
+        if (values.length > MAX_ARRAY_LENGTH) {
+            return Arrays.copyOf(values, MAX_ARRAY_LENGTH);
+        } else {
+            return values;
+        }
+    }
+
+    private static int[] checkArray(int[] values) {
+        if (values.length > MAX_ARRAY_LENGTH) {
+            return Arrays.copyOf(values, MAX_ARRAY_LENGTH);
+        } else {
+            return values;
+        }
+    }
+
+    private static long[] checkArray(long[] values) {
+        if (values.length > MAX_ARRAY_LENGTH) {
+            return Arrays.copyOf(values, MAX_ARRAY_LENGTH);
+        } else {
+            return values;
+        }
+    }
+
+    private static String[] checkArray(String[] values) {
+        if (values.length > MAX_ARRAY_LENGTH) {
+            return Arrays.copyOf(values, MAX_ARRAY_LENGTH);
+        } else {
+            return values;
+        }
+    }
+
+    private static String checkString(String value) {
+        if (value.length() > MAX_STRING_VALUE_LENGTH) {
+            return value.substring(0, MAX_STRING_VALUE_LENGTH);
+        }
+        return value;
+    }
+
+    private static String checkName(String value) {
+        if (TextUtils.isEmpty(value)) {
+            throw new NullPointerException();
+        }
+        return value;
+    }
+}
+
diff --git a/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoInstrument.java b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoInstrument.java
new file mode 100644
index 0000000..f3af0bc
--- /dev/null
+++ b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/DeviceInfoInstrument.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+
+/**
+ * An instrumentation that runs all activities that extends DeviceInfoActivity.
+ */
+public class DeviceInfoInstrument extends Instrumentation {
+
+    private static final String LOG_TAG = "ExtendedDeviceInfo";
+    private static final int DEVICE_INFO_ACTIVITY_REQUEST = 1;
+
+    private Bundle mBundle = new Bundle();
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        start();
+    }
+
+    @Override
+    public void onStart() {
+        try {
+            Context context = getContext();
+            ActivityInfo[] activities = context.getPackageManager().getPackageInfo(
+                    context.getPackageName(), PackageManager.GET_ACTIVITIES).activities;
+
+            for (ActivityInfo activityInfo : activities) {
+                Class cls = Class.forName(activityInfo.name);
+                if (cls != DeviceInfoActivity.class &&
+                        DeviceInfoActivity.class.isAssignableFrom(cls)) {
+                    runActivity(activityInfo.name);
+                }
+            }
+        } catch (Exception e) {
+            Log.e(LOG_TAG, "Exception occurred while running activities.", e);
+            // Returns INSTRUMENTATION_CODE: 0
+            finish(Activity.RESULT_CANCELED, mBundle);
+        }
+        // Returns INSTRUMENTATION_CODE: -1
+        finish(Activity.RESULT_OK, mBundle);
+    }
+
+    /**
+     * Runs a device info activity and return the file path where the results are written to.
+     */
+    private void runActivity(String activityName) throws Exception {
+        Intent intent = new Intent();
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.setClassName(this.getContext(), activityName);
+
+        DeviceInfoActivity activity = (DeviceInfoActivity) startActivitySync(intent);
+        waitForIdleSync();
+        activity.waitForActivityToFinish();
+
+        String className = Class.forName(activityName).getSimpleName();
+        String errorMessage = activity.getErrorMessage();
+        if (TextUtils.isEmpty(errorMessage)) {
+            mBundle.putString(className, activity.getResultFilePath());
+        } else {
+            mBundle.putString(className, errorMessage);
+            throw new Exception(errorMessage);
+        }
+    }
+}
+
diff --git a/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/GenericDeviceInfo.java b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/GenericDeviceInfo.java
new file mode 100644
index 0000000..f6e7c57
--- /dev/null
+++ b/common/device-side/device-info/src/com/android/compatibility/common/deviceinfo/GenericDeviceInfo.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+import android.app.Activity;
+import android.app.Instrumentation;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.FeatureInfo;
+import android.content.pm.PackageManager;
+import android.content.res.Configuration;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Environment;
+import android.os.UserManager;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.DisplayMetrics;
+import android.util.Log;
+import android.view.Display;
+import android.view.WindowManager;
+
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Scanner;
+import java.util.Set;
+
+import com.android.compatibility.common.deviceinfo.DeviceInfoActivity;
+
+/**
+ * Generic device info collector.
+ */
+public class GenericDeviceInfo extends DeviceInfoActivity {
+
+    public static final String BUILD_ID = "build_id";
+    public static final String BUILD_PRODUCT = "build_product";
+    public static final String BUILD_DEVICE = "build_device";
+    public static final String BUILD_BOARD = "build_board";
+    public static final String BUILD_MANUFACTURER = "build_manufacturer";
+    public static final String BUILD_BRAND = "build_brand";
+    public static final String BUILD_MODEL = "build_model";
+    public static final String BUILD_TYPE = "build_type";
+    public static final String BUILD_FINGERPRINT = "build_fingerprint";
+    public static final String BUILD_ABI = "build_abi";
+    public static final String BUILD_ABI2 = "build_abi2";
+    public static final String BUILD_ABIS = "build_abis";
+    public static final String BUILD_ABIS_32 = "build_abis_32";
+    public static final String BUILD_ABIS_64 = "build_abis_64";
+    public static final String BUILD_SERIAL = "build_serial";
+    public static final String BUILD_VERSION_RELEASE = "build_version_release";
+    public static final String BUILD_VERSION_SDK = "build_version_sdk";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void collectDeviceInfo() {
+        addResult(BUILD_ID, Build.ID);
+        addResult(BUILD_PRODUCT, Build.PRODUCT);
+        addResult(BUILD_DEVICE, Build.DEVICE);
+        addResult(BUILD_BOARD, Build.BOARD);
+        addResult(BUILD_MANUFACTURER, Build.MANUFACTURER);
+        addResult(BUILD_BRAND, Build.BRAND);
+        addResult(BUILD_MODEL, Build.MODEL);
+        addResult(BUILD_TYPE, Build.TYPE);
+        addResult(BUILD_FINGERPRINT, Build.FINGERPRINT);
+        addResult(BUILD_ABI, Build.CPU_ABI);
+        addResult(BUILD_ABI2, Build.CPU_ABI2);
+        addResult(BUILD_ABIS, TextUtils.join(",", Build.SUPPORTED_ABIS));
+        addResult(BUILD_ABIS_32, TextUtils.join(",", Build.SUPPORTED_32_BIT_ABIS));
+        addResult(BUILD_ABIS_64, TextUtils.join(",", Build.SUPPORTED_64_BIT_ABIS));
+        addResult(BUILD_SERIAL, Build.SERIAL);
+        addResult(BUILD_VERSION_RELEASE, Build.VERSION.RELEASE);
+        addResult(BUILD_VERSION_SDK, Build.VERSION.SDK);
+    }
+}
\ No newline at end of file
diff --git a/common/device-side/device-info/tests/Android.mk b/common/device-side/device-info/tests/Android.mk
new file mode 100644
index 0000000..e24c5c1
--- /dev/null
+++ b/common/device-side/device-info/tests/Android.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_STATIC_JAVA_LIBRARIES := compatibility-device-info
+
+LOCAL_JAVA_LIBRARIES := android.test.runner
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE := compatibility-device-info-tests
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
+
diff --git a/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivityTest.java b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivityTest.java
new file mode 100644
index 0000000..8a8a66c
--- /dev/null
+++ b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/DeviceInfoActivityTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+import android.test.ActivityInstrumentationTestCase2;
+
+import java.io.BufferedReader;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+/**
+ * Test for {@link DeviceInfoActivity}.
+ */
+public class DeviceInfoActivityTest extends ActivityInstrumentationTestCase2<SampleDeviceInfo> {
+
+    private static final String EXPECTED_FILE_PATH =
+            "/storage/emulated/0/device-info-files/SampleDeviceInfo.deviceinfo.json";
+
+    private SampleDeviceInfo mActivity;
+
+    public DeviceInfoActivityTest() {
+        super(SampleDeviceInfo.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        // Start the activity and get a reference to it.
+        mActivity = getActivity();
+        // Wait for the activity to finish.
+        mActivity.waitForActivityToFinish();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mActivity = null;
+        super.tearDown();
+    }
+
+    public void testJsonFile() throws IOException {
+        String resultFilePath = mActivity.getResultFilePath();
+        // Check file path exist
+        assertNotNull("Expected a non-null resultFilePath", resultFilePath);
+        // Check file path location
+        assertEquals("Incorrect file path", EXPECTED_FILE_PATH, resultFilePath);
+        // Check json file content
+        String jsonContent = readFile(resultFilePath);
+        assertEquals("Incorrect json output", ExampleObjects.sampleDeviceInfoJson(), jsonContent);
+    }
+
+    private String readFile(String filePath) throws IOException {
+        InputStreamReader inputStreamReader = new InputStreamReader(
+                new FileInputStream(filePath), "UTF-8");
+        StringBuilder stringBuilder = new StringBuilder();
+        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
+        String line;
+        while((line = bufferedReader.readLine()) != null) {
+            stringBuilder.append(line);
+            stringBuilder.append('\n');
+        }
+        bufferedReader.close();
+        return stringBuilder.toString();
+    }
+}
+
diff --git a/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/ExampleObjects.java b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/ExampleObjects.java
new file mode 100644
index 0000000..92e7df1
--- /dev/null
+++ b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/ExampleObjects.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+/**
+ * Example Objects for {@link DeviceInfoActivity} test package.
+ */
+public final class ExampleObjects {
+
+    private static final int MAX_LENGTH = 1000;
+
+    private static final String SAMPLE_DEVICE_INFO_JSON = "{\n" +
+        "  \"foo\": {\n" +
+        "    \"foo_boolean\": true,\n" +
+        "    \"bar\": {\n" +
+        "      \"bar_string\": [\n" +
+        "        \"bar-string-1\",\n" +
+        "        \"bar-string-2\",\n" +
+        "        \"bar-string-3\"\n" +
+        "      ],\n" +
+        "      \"bar_boolean\": [\n" +
+        "        true,\n" +
+        "        false\n" +
+        "      ],\n" +
+        "      \"bar_double\": [\n" +
+        "        1.7976931348623157E308,\n" +
+        "        4.9E-324\n" +
+        "      ],\n" +
+        "      \"bar_int\": [\n" +
+        "        2147483647,\n" +
+        "        -2147483648\n" +
+        "      ],\n" +
+        "      \"bar_long\": [\n" +
+        "        9223372036854775807,\n" +
+        "        -9223372036854775808\n" +
+        "      ]\n" +
+        "    },\n" +
+        "    \"foo_double\": 1.7976931348623157E308,\n" +
+        "    \"foo_int\": 2147483647,\n" +
+        "    \"foo_long\": 9223372036854775807,\n" +
+        "    \"foo_string\": \"foo-string\",\n" +
+        "    \"long_string\": \"%s\",\n" +
+        "    \"long_int_array\": [\n%s" +
+        "    ]\n" +
+        "  }\n" +
+        "}\n";
+
+    public static String sampleDeviceInfoJson() {
+        StringBuilder longStringSb = new StringBuilder();
+        StringBuilder longArraySb = new StringBuilder();
+        int lastNum = MAX_LENGTH - 1;
+        for (int i = 0; i < MAX_LENGTH; i++) {
+            longStringSb.append("a");
+            longArraySb.append(String.format("      %d%s\n", i, ((i == lastNum)? "" : ",")));
+        }
+        return String.format(SAMPLE_DEVICE_INFO_JSON,
+            longStringSb.toString(), longArraySb.toString());
+    }
+}
\ No newline at end of file
diff --git a/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/SampleDeviceInfo.java b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/SampleDeviceInfo.java
new file mode 100644
index 0000000..7da9951
--- /dev/null
+++ b/common/device-side/device-info/tests/src/com/android/compatibility/common/deviceinfo/SampleDeviceInfo.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.compatibility.common.deviceinfo;
+
+import android.os.Bundle;
+
+import java.lang.StringBuilder;
+
+/**
+ * Sample device info collector.
+ */
+public class SampleDeviceInfo extends DeviceInfoActivity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void collectDeviceInfo() {
+        boolean[] booleans = {Boolean.TRUE, Boolean.FALSE};
+        double[] doubles = {Double.MAX_VALUE, Double.MIN_VALUE};
+        int[] ints = {Integer.MAX_VALUE, Integer.MIN_VALUE};
+        long[] longs = {Long.MAX_VALUE, Long.MIN_VALUE};
+
+        // Group Foo
+        startGroup("foo");
+        addResult("foo_boolean", Boolean.TRUE);
+
+        // Group Bar
+        startGroup("bar");
+        addArray("bar_string", new String[] {
+                "bar-string-1",
+                "bar-string-2",
+                "bar-string-3"});
+
+        addArray("bar_boolean", booleans);
+        addArray("bar_double", doubles);
+        addArray("bar_int", ints);
+        addArray("bar_long", longs);
+        endGroup(); // bar
+
+        addResult("foo_double", Double.MAX_VALUE);
+        addResult("foo_int", Integer.MAX_VALUE);
+        addResult("foo_long", Long.MAX_VALUE);
+        addResult("foo_string", "foo-string");
+
+        StringBuilder sb = new StringBuilder();
+        int[] arr = new int[1001];
+        for (int i = 0; i < 1001; i++) {
+            sb.append("a");
+            arr[i] = i;
+        }
+        addResult("long_string", sb.toString());
+        addArray("long_int_array", arr);
+
+        endGroup(); // foo
+    }
+}
+
diff --git a/common/device-side/util/src/com/android/compatibility/common/util/WifiConfigCreator.java b/common/device-side/util/src/com/android/compatibility/common/util/WifiConfigCreator.java
index 1cea80c..d01978a 100644
--- a/common/device-side/util/src/com/android/compatibility/common/util/WifiConfigCreator.java
+++ b/common/device-side/util/src/com/android/compatibility/common/util/WifiConfigCreator.java
@@ -28,11 +28,11 @@
  * A simple activity to create and manage wifi configurations.
  */
 public class WifiConfigCreator {
-    public static final String CREATE_WIFI_CONFIG_ACTION =
+    public static final String ACTION_CREATE_WIFI_CONFIG =
             "com.android.compatibility.common.util.CREATE_WIFI_CONFIG";
-    public static final String UPDATE_WIFI_CONFIG_ACTION =
+    public static final String ACTION_UPDATE_WIFI_CONFIG =
             "com.android.compatibility.common.util.UPDATE_WIFI_CONFIG";
-    public static final String REMOVE_WIFI_CONFIG_ACTION =
+    public static final String ACTION_REMOVE_WIFI_CONFIG =
             "com.android.compatibility.common.util.REMOVE_WIFI_CONFIG";
     public static final String EXTRA_NETID = "extra-netid";
     public static final String EXTRA_SSID = "extra-ssid";
diff --git a/common/host-side/manifest-generator/Android.mk b/common/host-side/manifest-generator/Android.mk
new file mode 100644
index 0000000..ca08928
--- /dev/null
+++ b/common/host-side/manifest-generator/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_STATIC_JAVA_LIBRARIES := kxml2-2.3.0
+
+LOCAL_JAR_MANIFEST := MANIFEST.mf
+
+LOCAL_CLASSPATH := $(HOST_JDK_TOOLS_JAR)
+
+LOCAL_MODULE := compatibility-manifest-generator
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_HOST_JAVA_LIBRARY)
+
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/common/host-side/manifest-generator/MANIFEST.mf b/common/host-side/manifest-generator/MANIFEST.mf
new file mode 100644
index 0000000..4f62631
--- /dev/null
+++ b/common/host-side/manifest-generator/MANIFEST.mf
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+Main-Class: com.android.compatibility.common.generator.ManifestGenerator
diff --git a/common/host-side/manifest-generator/src/com/android/compatibility/common/generator/ManifestGenerator.java b/common/host-side/manifest-generator/src/com/android/compatibility/common/generator/ManifestGenerator.java
new file mode 100644
index 0000000..e23e254
--- /dev/null
+++ b/common/host-side/manifest-generator/src/com/android/compatibility/common/generator/ManifestGenerator.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.compatibility.common.generator;
+
+import java.io.FileOutputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.kxml2.io.KXmlSerializer;
+
+public class ManifestGenerator {
+
+    private static final String USAGE = "Usage: "
+        + "manifest-generator -n NAME -p PACKAGE_NAME -o OUTPUT_FILE -i INSTRUMENT_NAME "
+        + "[-r PERMISSION]+ [-a ACTIVITY]+";
+    private static final String MANIFEST = "manifest";
+    private static final String USES_SDK = "uses-sdk";
+    private static final String USES_PERMISSION = "uses-permission";
+    private static final String APPLICATION = "application";
+    private static final String INSTRUMENTATION = "instrumentation";
+    private static final String ACTIVITY = "activity";
+
+    public static void main(String[] args) {
+        String pkgName = null;
+        String instrumentName = null;
+        List<String> permissions = new ArrayList<>();
+        List<String> activities = new ArrayList<>();
+        String output = null;
+
+        for (int i = 0; i < args.length - 1; i++) {
+            if (args[i].equals("-p")) {
+                pkgName = args[++i];
+            } else if (args[i].equals("-a")) {
+                activities.add(args[++i]);
+            } else if (args[i].equals("-o")) {
+                output = args[++i];
+            } else if (args[i].equals("-i")) {
+                instrumentName = args[++i];
+            } else if (args[i].equals("-r")) {
+                permissions.add(args[++i]);
+            }
+        }
+
+        if (pkgName == null) {
+            error("Missing package name");
+        } else if (instrumentName == null) {
+            error("Missing instrumentation name");
+        } else if (activities.isEmpty()) {
+            error("No activities");
+        } else if (output == null) {
+            error("Missing output file");
+        }
+
+        FileOutputStream out = null;
+        try {
+          out = new FileOutputStream(output);
+          generate(out, pkgName, instrumentName, permissions, activities);
+        } catch (Exception e) {
+          System.err.println("Couldn't create manifest file");
+        } finally {
+          if (out != null) {
+              try {
+                  out.close();
+              } catch (Exception e) {
+                  // Ignore
+              }
+          }
+        }
+    }
+
+    /*package*/ static void generate(OutputStream out, String pkgName, String instrumentName,
+            List<String> permissions, List<String> activities) throws Exception {
+        final String ns = null;
+        KXmlSerializer serializer = new KXmlSerializer();
+        serializer.setOutput(out, "UTF-8");
+        serializer.startDocument("UTF-8", true);
+        serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
+        serializer.startTag(ns, MANIFEST);
+        serializer.attribute(ns, "xmlns:android", "http://schemas.android.com/apk/res/android");
+        serializer.attribute(ns, "package", pkgName);
+        serializer.startTag(ns, USES_SDK);
+        serializer.attribute(ns, "android:minSdkVersion", "8");
+        serializer.endTag(ns, USES_SDK);
+        for (String permission : permissions) {
+            serializer.startTag(ns, USES_PERMISSION);
+            serializer.attribute(ns, "android:name", permission);
+            serializer.endTag(ns, USES_PERMISSION);
+        }
+        serializer.startTag(ns, APPLICATION);
+        for (String activity : activities) {
+            serializer.startTag(ns, ACTIVITY);
+            serializer.attribute(ns, "android:name", activity);
+            serializer.endTag(ns, ACTIVITY);
+        }
+        serializer.endTag(ns, APPLICATION);
+        serializer.startTag(ns, INSTRUMENTATION);
+        serializer.attribute(ns, "android:name", instrumentName);
+        serializer.attribute(ns, "android:targetPackage", pkgName);
+        serializer.endTag(ns, INSTRUMENTATION);
+        serializer.endTag(ns, MANIFEST);
+        serializer.endDocument();
+        out.flush();
+    }
+
+    private static void error(String message) {
+        System.err.println(message);
+        System.err.println(USAGE);
+        System.exit(1);
+    }
+
+}
diff --git a/common/host-side/manifest-generator/tests/Android.mk b/common/host-side/manifest-generator/tests/Android.mk
new file mode 100644
index 0000000..2eb5d2f
--- /dev/null
+++ b/common/host-side/manifest-generator/tests/Android.mk
@@ -0,0 +1,27 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := compatibility-manifest-generator junit
+
+LOCAL_MODULE := compatibility-manifest-generator-tests
+
+LOCAL_MODULE_TAGS := optional
+
+include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/common/host-side/manifest-generator/tests/src/com/android/compatibility/common/generator/ManifestGeneratorTest.java b/common/host-side/manifest-generator/tests/src/com/android/compatibility/common/generator/ManifestGeneratorTest.java
new file mode 100644
index 0000000..457bbb8
--- /dev/null
+++ b/common/host-side/manifest-generator/tests/src/com/android/compatibility/common/generator/ManifestGeneratorTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.compatibility.common.generator;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+/** Unit tests for {@link ManifestGenerator}. */
+public class ManifestGeneratorTest extends TestCase {
+
+    private static final String PACKAGE = "test.package";
+    private static final String INSTRUMENT = "test.package.TestInstrument";
+    private static final String MANIFEST = "<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>\r\n"
+        + "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" "
+        + "package=\"test.package\">\r\n"
+        + "  <uses-sdk android:minSdkVersion=\"8\" />\r\n"
+        + "%s"
+        + "  <application>\r\n"
+        + "%s"
+        + "  </application>\r\n"
+        + "  <instrumentation android:name=\"test.package.TestInstrument\" "
+        + "android:targetPackage=\"test.package\" />\r\n"
+        + "</manifest>";
+    private static final String PERMISSION = "  <uses-permission android:name=\"%s\" />\r\n";
+    private static final String PERMISSION_A = "android.permission.PermissionA";
+    private static final String PERMISSION_B = "android.permission.PermissionB";
+    private static final String ACTIVITY = "    <activity android:name=\"%s\" />\r\n";
+    private static final String ACTIVITY_A = "test.package.ActivityA";
+    private static final String ACTIVITY_B = "test.package.ActivityB";
+
+    public void testManifest() throws Exception {
+        List<String> permissions = new ArrayList<>();
+        permissions.add(PERMISSION_A);
+        permissions.add(PERMISSION_B);
+        List<String> activities = new ArrayList<>();
+        activities.add(ACTIVITY_A);
+        activities.add(ACTIVITY_B);
+        OutputStream output = new OutputStream() {
+            private StringBuilder string = new StringBuilder();
+            @Override
+            public void write(int b) throws IOException {
+                this.string.append((char) b);
+            }
+
+            @Override
+            public String toString(){
+                return this.string.toString();
+            }
+        };
+        ManifestGenerator.generate(output, PACKAGE, INSTRUMENT, permissions, activities);
+        String permissionXml = String.format(PERMISSION, PERMISSION_A)
+                + String.format(PERMISSION, PERMISSION_B);
+        String activityXml = String.format(ACTIVITY, ACTIVITY_A)
+                + String.format(ACTIVITY, ACTIVITY_B);
+        String expected = String.format(MANIFEST, permissionXml, activityXml);
+        assertEquals("Wrong manifest output", expected, output.toString());
+    }
+
+}
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AdoptableHostTest.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AdoptableHostTest.java
new file mode 100644
index 0000000..76d90cc
--- /dev/null
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AdoptableHostTest.java
@@ -0,0 +1,346 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.appsecurity;
+
+import static com.android.cts.appsecurity.SplitTests.ABI_TO_APK;
+import static com.android.cts.appsecurity.SplitTests.APK;
+import static com.android.cts.appsecurity.SplitTests.APK_mdpi;
+import static com.android.cts.appsecurity.SplitTests.APK_xxhdpi;
+import static com.android.cts.appsecurity.SplitTests.CLASS;
+import static com.android.cts.appsecurity.SplitTests.PKG;
+
+import com.android.cts.appsecurity.SplitTests.BaseInstallMultiple;
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
+import com.android.tradefed.testtype.IBuildReceiver;
+
+import java.util.Arrays;
+
+/**
+ * Set of tests that verify behavior of adopted storage media, if supported.
+ */
+public class AdoptableHostTest extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
+    private IAbi mAbi;
+    private CtsBuildHelper mCtsBuild;
+
+    @Override
+    public void setAbi(IAbi abi) {
+        mAbi = abi;
+    }
+
+    @Override
+    public void setBuild(IBuildInfo buildInfo) {
+        mCtsBuild = CtsBuildHelper.createBuildHelper(buildInfo);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        assertNotNull(mAbi);
+        assertNotNull(mCtsBuild);
+
+        getDevice().uninstallPackage(PKG);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+
+        getDevice().uninstallPackage(PKG);
+    }
+
+    public void testApps() throws Exception {
+        if (!hasAdoptable()) return;
+        final String diskId = getAdoptionDisk();
+        try {
+            final String abi = mAbi.getName();
+            final String apk = ABI_TO_APK.get(abi);
+            assertNotNull("Failed to find APK for ABI " + abi, apk);
+
+            // Install simple app on internal
+            new InstallMultiple().useNaturalAbi().addApk(APK).addApk(apk).run();
+            runDeviceTests(PKG, CLASS, "testDataInternal");
+            runDeviceTests(PKG, CLASS, "testDataWrite");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+            runDeviceTests(PKG, CLASS, "testNative");
+
+            // Adopt that disk!
+            assertEmpty(getDevice().executeShellCommand("sm partition " + diskId + " private"));
+            final LocalVolumeInfo vol = getAdoptionVolume();
+
+            // Move app and verify
+            assertSuccess(getDevice().executeShellCommand("pm move-package " + PKG + " " + vol.uuid));
+            runDeviceTests(PKG, CLASS, "testDataNotInternal");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+            runDeviceTests(PKG, CLASS, "testNative");
+
+            // Unmount, remount and verify
+            getDevice().executeShellCommand("sm unmount " + vol.volId);
+            getDevice().executeShellCommand("sm mount " + vol.volId);
+            runDeviceTests(PKG, CLASS, "testDataNotInternal");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+            runDeviceTests(PKG, CLASS, "testNative");
+
+            // Move app back and verify
+            assertSuccess(getDevice().executeShellCommand("pm move-package " + PKG + " internal"));
+            runDeviceTests(PKG, CLASS, "testDataInternal");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+            runDeviceTests(PKG, CLASS, "testNative");
+
+            // Un-adopt volume and app should still be fine
+            getDevice().executeShellCommand("sm partition " + diskId + " public");
+            runDeviceTests(PKG, CLASS, "testDataInternal");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+            runDeviceTests(PKG, CLASS, "testNative");
+
+        } finally {
+            cleanUp(diskId);
+        }
+    }
+
+    public void testPrimaryStorage() throws Exception {
+        if (!hasAdoptable()) return;
+        final String diskId = getAdoptionDisk();
+        try {
+            final String originalVol = getDevice()
+                    .executeShellCommand("sm get-primary-storage-uuid").trim();
+
+            if ("null".equals(originalVol)) {
+                verifyPrimaryInternal(diskId);
+            } else if ("primary_physical".equals(originalVol)) {
+                verifyPrimaryPhysical(diskId);
+            }
+        } finally {
+            cleanUp(diskId);
+        }
+    }
+
+    private void verifyPrimaryInternal(String diskId) throws Exception {
+        // Write some data to shared storage
+        new InstallMultiple().addApk(APK).run();
+        runDeviceTests(PKG, CLASS, "testPrimaryOnSameVolume");
+        runDeviceTests(PKG, CLASS, "testPrimaryInternal");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataWrite");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // Adopt that disk!
+        assertEmpty(getDevice().executeShellCommand("sm partition " + diskId + " private"));
+        final LocalVolumeInfo vol = getAdoptionVolume();
+
+        // Move storage there and verify that data went along for ride
+        assertSuccess(getDevice().executeShellCommand("pm move-primary-storage " + vol.uuid));
+        runDeviceTests(PKG, CLASS, "testPrimaryAdopted");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // Unmount and verify
+        getDevice().executeShellCommand("sm unmount " + vol.volId);
+        runDeviceTests(PKG, CLASS, "testPrimaryUnmounted");
+        getDevice().executeShellCommand("sm mount " + vol.volId);
+        runDeviceTests(PKG, CLASS, "testPrimaryAdopted");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // Move app and verify backing storage volume is same
+        assertSuccess(getDevice().executeShellCommand("pm move-package " + PKG + " " + vol.uuid));
+        runDeviceTests(PKG, CLASS, "testPrimaryOnSameVolume");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // And move back to internal
+        assertSuccess(getDevice().executeShellCommand("pm move-primary-storage internal"));
+        runDeviceTests(PKG, CLASS, "testPrimaryInternal");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        assertSuccess(getDevice().executeShellCommand("pm move-package " + PKG + " internal"));
+        runDeviceTests(PKG, CLASS, "testPrimaryOnSameVolume");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+    }
+
+    private void verifyPrimaryPhysical(String diskId) throws Exception {
+        // Write some data to shared storage
+        new InstallMultiple().addApk(APK).run();
+        runDeviceTests(PKG, CLASS, "testPrimaryPhysical");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataWrite");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // Adopt that disk!
+        assertEmpty(getDevice().executeShellCommand("sm partition " + diskId + " private"));
+        final LocalVolumeInfo vol = getAdoptionVolume();
+
+        // Move primary storage there, but since we just nuked primary physical
+        // the storage device will be empty
+        assertSuccess(getDevice().executeShellCommand("pm move-primary-storage " + vol.uuid));
+        runDeviceTests(PKG, CLASS, "testPrimaryAdopted");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataWrite");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // Unmount and verify
+        getDevice().executeShellCommand("sm unmount " + vol.volId);
+        runDeviceTests(PKG, CLASS, "testPrimaryUnmounted");
+        getDevice().executeShellCommand("sm mount " + vol.volId);
+        runDeviceTests(PKG, CLASS, "testPrimaryAdopted");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+
+        // And move to internal
+        assertSuccess(getDevice().executeShellCommand("pm move-primary-storage internal"));
+        runDeviceTests(PKG, CLASS, "testPrimaryOnSameVolume");
+        runDeviceTests(PKG, CLASS, "testPrimaryInternal");
+        runDeviceTests(PKG, CLASS, "testPrimaryDataRead");
+    }
+
+    /**
+     * Verify that we can install both new and inherited packages directly on
+     * adopted volumes.
+     */
+    public void testPackageInstaller() throws Exception {
+        if (!hasAdoptable()) return;
+        final String diskId = getAdoptionDisk();
+        try {
+            assertEmpty(getDevice().executeShellCommand("sm partition " + diskId + " private"));
+            final LocalVolumeInfo vol = getAdoptionVolume();
+
+            // Install directly onto adopted volume
+            new InstallMultiple().locationAuto().forceUuid(vol.uuid)
+                    .addApk(APK).addApk(APK_mdpi).run();
+            runDeviceTests(PKG, CLASS, "testDataNotInternal");
+            runDeviceTests(PKG, CLASS, "testDensityBest1");
+
+            // Now splice in an additional split which offers better resources
+            new InstallMultiple().locationAuto().inheritFrom(PKG)
+                    .addApk(APK_xxhdpi).run();
+            runDeviceTests(PKG, CLASS, "testDataNotInternal");
+            runDeviceTests(PKG, CLASS, "testDensityBest2");
+
+        } finally {
+            cleanUp(diskId);
+        }
+    }
+
+    /**
+     * Verify behavior when changes occur while adopted device is ejected and
+     * returned at a later time.
+     */
+    public void testEjected() throws Exception {
+        if (!hasAdoptable()) return;
+        final String diskId = getAdoptionDisk();
+        try {
+            assertEmpty(getDevice().executeShellCommand("sm partition " + diskId + " private"));
+            final LocalVolumeInfo vol = getAdoptionVolume();
+
+            // Install directly onto adopted volume, and write data there
+            new InstallMultiple().locationAuto().forceUuid(vol.uuid).addApk(APK).run();
+            runDeviceTests(PKG, CLASS, "testDataNotInternal");
+            runDeviceTests(PKG, CLASS, "testDataWrite");
+            runDeviceTests(PKG, CLASS, "testDataRead");
+
+            // Now unmount and uninstall; leaving stale package on adopted volume
+            getDevice().executeShellCommand("sm unmount " + vol.volId);
+            getDevice().uninstallPackage(PKG);
+
+            // Install second copy on internal, but don't write anything
+            new InstallMultiple().locationInternalOnly().addApk(APK).run();
+            runDeviceTests(PKG, CLASS, "testDataInternal");
+
+            // Kick through a remount cycle, which should purge the adopted app
+            getDevice().executeShellCommand("sm mount " + vol.volId);
+            runDeviceTests(PKG, CLASS, "testDataInternal");
+            try {
+                runDeviceTests(PKG, CLASS, "testDataRead");
+                fail("Unexpected data from adopted volume picked up");
+            } catch (AssertionError expected) {
+            }
+            getDevice().executeShellCommand("sm unmount " + vol.volId);
+
+            // Uninstall the internal copy and remount; we should have no record of app
+            getDevice().uninstallPackage(PKG);
+            getDevice().executeShellCommand("sm mount " + vol.volId);
+
+            assertEmpty(getDevice().executeShellCommand("pm list packages " + PKG));
+        } finally {
+            cleanUp(diskId);
+        }
+    }
+
+    private boolean hasAdoptable() throws Exception {
+        return Boolean.parseBoolean(getDevice().executeShellCommand("sm has-adoptable").trim());
+    }
+
+    private String getAdoptionDisk() throws Exception {
+        final String disks = getDevice().executeShellCommand("sm list-disks adoptable");
+        if (disks == null || disks.length() == 0) {
+            throw new AssertionError("Devices that claim to support adoptable storage must have "
+                    + "adoptable media inserted during CTS to verify correct behavior");
+        }
+        return disks.split("\n")[0].trim();
+    }
+
+    private LocalVolumeInfo getAdoptionVolume() throws Exception {
+        final String[] lines = getDevice().executeShellCommand("sm list-volumes private")
+                .split("\n");
+        for (String line : lines) {
+            final LocalVolumeInfo info = new LocalVolumeInfo(line.trim());
+            if (!"private".equals(info.volId)) {
+                return info;
+            }
+        }
+        throw new AssertionError("Expected private volume; found " + Arrays.toString(lines));
+    }
+
+    private void cleanUp(String diskId) throws Exception {
+        getDevice().executeShellCommand("sm partition " + diskId + " public");
+        getDevice().executeShellCommand("sm forget all");
+    }
+
+    private void runDeviceTests(String packageName, String testClassName, String testMethodName)
+            throws DeviceNotAvailableException {
+        Utils.runDeviceTests(getDevice(), packageName, testClassName, testMethodName);
+    }
+
+    private static void assertSuccess(String str) {
+        if (str == null || !str.startsWith("Success")) {
+            throw new AssertionError("Expected success string but found " + str);
+        }
+    }
+
+    private static void assertEmpty(String str) {
+        if (str != null && str.trim().length() > 0) {
+            throw new AssertionError("Expected empty string but found " + str);
+        }
+    }
+
+    private static class LocalVolumeInfo {
+        public String volId;
+        public String state;
+        public String uuid;
+
+        public LocalVolumeInfo(String line) {
+            final String[] split = line.split(" ");
+            volId = split[0];
+            state = split[1];
+            uuid = split[2];
+        }
+    }
+
+    private class InstallMultiple extends BaseInstallMultiple<InstallMultiple> {
+        public InstallMultiple() {
+            super(getDevice(), mCtsBuild, mAbi);
+        }
+    }
+}
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AppSecurityTests.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AppSecurityTests.java
index 206bdbe..bf9e81c 100644
--- a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AppSecurityTests.java
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/AppSecurityTests.java
@@ -19,15 +19,8 @@
 import com.android.cts.tradefed.build.CtsBuildHelper;
 import com.android.cts.util.AbiUtils;
 import com.android.ddmlib.Log;
-import com.android.ddmlib.testrunner.InstrumentationResultParser;
-import com.android.ddmlib.testrunner.TestIdentifier;
-import com.android.ddmlib.testrunner.TestResult;
-import com.android.ddmlib.testrunner.TestResult.TestStatus;
-import com.android.ddmlib.testrunner.TestRunResult;
 import com.android.tradefed.build.IBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
-import com.android.tradefed.device.ITestDevice;
-import com.android.tradefed.result.CollectingTestListener;
 import com.android.tradefed.testtype.DeviceTestCase;
 import com.android.tradefed.testtype.IAbi;
 import com.android.tradefed.testtype.IAbiReceiver;
@@ -35,15 +28,13 @@
 
 import java.io.File;
 import java.io.FileNotFoundException;
-import java.util.Map;
 
 /**
- * Set of tests that verify various security checks involving multiple apps are properly enforced.
+ * Set of tests that verify various security checks involving multiple apps are
+ * properly enforced.
  */
 public class AppSecurityTests extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
 
-    private static final String RUNNER = "android.support.test.runner.AndroidJUnitRunner";
-
     // testSharedUidDifferentCerts constants
     private static final String SHARED_UI_APK = "CtsSharedUidInstall.apk";
     private static final String SHARED_UI_PKG = "com.android.cts.shareuidinstall";
@@ -68,18 +59,6 @@
     private static final String APP_ACCESS_DATA_APK = "CtsAppAccessData.apk";
     private static final String APP_ACCESS_DATA_PKG = "com.android.cts.appaccessdata";
 
-    // External storage constants
-    private static final String COMMON_EXTERNAL_STORAGE_APP_CLASS = "com.android.cts.externalstorageapp.CommonExternalStorageTest";
-    private static final String EXTERNAL_STORAGE_APP_APK = "CtsExternalStorageApp.apk";
-    private static final String EXTERNAL_STORAGE_APP_PKG = "com.android.cts.externalstorageapp";
-    private static final String EXTERNAL_STORAGE_APP_CLASS = EXTERNAL_STORAGE_APP_PKG + ".ExternalStorageTest";
-    private static final String READ_EXTERNAL_STORAGE_APP_APK = "CtsReadExternalStorageApp.apk";
-    private static final String READ_EXTERNAL_STORAGE_APP_PKG = "com.android.cts.readexternalstorageapp";
-    private static final String READ_EXTERNAL_STORAGE_APP_CLASS = READ_EXTERNAL_STORAGE_APP_PKG + ".ReadExternalStorageTest";
-    private static final String WRITE_EXTERNAL_STORAGE_APP_APK = "CtsWriteExternalStorageApp.apk";
-    private static final String WRITE_EXTERNAL_STORAGE_APP_PKG = "com.android.cts.writeexternalstorageapp";
-    private static final String WRITE_EXTERNAL_STORAGE_APP_CLASS = WRITE_EXTERNAL_STORAGE_APP_PKG + ".WriteExternalStorageTest";
-
     // testInstrumentationDiffCert constants
     private static final String TARGET_INSTRUMENT_APK = "CtsTargetInstrumentationApp.apk";
     private static final String TARGET_INSTRUMENT_PKG = "com.android.cts.targetinstrumentationapp";
@@ -97,17 +76,8 @@
     private static final String PERMISSION_DIFF_CERT_PKG =
         "com.android.cts.usespermissiondiffcertapp";
 
-    private static final String READ_EXTERNAL_STORAGE = "android.permission.READ_EXTERNAL_STORAGE";
-
-    private static final String MULTIUSER_STORAGE_APK = "CtsMultiUserStorageApp.apk";
-    private static final String MULTIUSER_STORAGE_PKG = "com.android.cts.multiuserstorageapp";
-    private static final String MULTIUSER_STORAGE_CLASS = MULTIUSER_STORAGE_PKG
-            + ".MultiUserStorageTest";
-
     private static final String LOG_TAG = "AppSecurityTests";
 
-    private static final int USER_OWNER = 0;
-
     private IAbi mAbi;
     private CtsBuildHelper mCtsBuild;
 
@@ -156,8 +126,7 @@
             assertNotNull("shared uid app with different cert than existing app installed " +
                     "successfully", installResult);
             assertEquals("INSTALL_FAILED_SHARED_USER_INCOMPATIBLE", installResult);
-        }
-        finally {
+        } finally {
             getDevice().uninstallPackage(SHARED_UI_PKG);
             getDevice().uninstallPackage(SHARED_UI_DIFF_CERT_PKG);
         }
@@ -183,8 +152,7 @@
             assertNotNull("app upgrade with different cert than existing app installed " +
                     "successfully", installResult);
             assertEquals("INSTALL_FAILED_UPDATE_INCOMPATIBLE", installResult);
-        }
-        finally {
+        } finally {
             getDevice().uninstallPackage(SIMPLE_APP_PKG);
         }
     }
@@ -205,132 +173,21 @@
             assertNull(String.format("failed to install app with data. Reason: %s", installResult),
                     installResult);
             // run appwithdata's tests to create private data
-            assertTrue("failed to create app's private data", runDeviceTests(APP_WITH_DATA_PKG,
-                    APP_WITH_DATA_CLASS, APP_WITH_DATA_CREATE_METHOD));
+            runDeviceTests(APP_WITH_DATA_PKG, APP_WITH_DATA_CLASS, APP_WITH_DATA_CREATE_METHOD);
 
             installResult = getDevice().installPackage(getTestAppFile(APP_ACCESS_DATA_APK),
                     false, options);
             assertNull(String.format("failed to install app access data. Reason: %s",
                     installResult), installResult);
             // run appaccessdata's tests which attempt to access appwithdata's private data
-            assertTrue("could access app's private data", runDeviceTests(APP_ACCESS_DATA_PKG));
-        }
-        finally {
+            runDeviceTests(APP_ACCESS_DATA_PKG);
+        } finally {
             getDevice().uninstallPackage(APP_WITH_DATA_PKG);
             getDevice().uninstallPackage(APP_ACCESS_DATA_PKG);
         }
     }
 
     /**
-     * Verify that app with no external storage permissions works correctly.
-     */
-    public void testExternalStorageNone() throws Exception {
-        final int[] users = createUsersForTest();
-        try {
-            wipePrimaryExternalStorage(getDevice());
-
-            getDevice().uninstallPackage(EXTERNAL_STORAGE_APP_PKG);
-            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(EXTERNAL_STORAGE_APP_APK), false, options));
-
-            for (int user : users) {
-                assertTrue("Failed external storage with no permissions",
-                        runDeviceTests(EXTERNAL_STORAGE_APP_PKG, user));
-            }
-        } finally {
-            getDevice().uninstallPackage(EXTERNAL_STORAGE_APP_PKG);
-            removeUsersForTest(users);
-        }
-    }
-
-    /**
-     * Verify that app with
-     * {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} works
-     * correctly.
-     */
-    public void testExternalStorageRead() throws Exception {
-        final int[] users = createUsersForTest();
-        try {
-            wipePrimaryExternalStorage(getDevice());
-
-            getDevice().uninstallPackage(READ_EXTERNAL_STORAGE_APP_PKG);
-            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(READ_EXTERNAL_STORAGE_APP_APK), false, options));
-
-            for (int user : users) {
-                assertTrue("Failed external storage with read permissions",
-                        runDeviceTests(READ_EXTERNAL_STORAGE_APP_PKG, user));
-            }
-        } finally {
-            getDevice().uninstallPackage(READ_EXTERNAL_STORAGE_APP_PKG);
-            removeUsersForTest(users);
-        }
-    }
-
-    /**
-     * Verify that app with
-     * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} works
-     * correctly.
-     */
-    public void testExternalStorageWrite() throws Exception {
-        final int[] users = createUsersForTest();
-        try {
-            wipePrimaryExternalStorage(getDevice());
-
-            getDevice().uninstallPackage(WRITE_EXTERNAL_STORAGE_APP_PKG);
-            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(WRITE_EXTERNAL_STORAGE_APP_APK), false, options));
-
-            for (int user : users) {
-                assertTrue("Failed external storage with write permissions",
-                        runDeviceTests(WRITE_EXTERNAL_STORAGE_APP_PKG, user));
-            }
-        } finally {
-            getDevice().uninstallPackage(WRITE_EXTERNAL_STORAGE_APP_PKG);
-            removeUsersForTest(users);
-        }
-    }
-
-    /**
-     * Verify that app with WRITE_EXTERNAL can leave gifts in external storage
-     * directories belonging to other apps, and those apps can read.
-     */
-    public void testExternalStorageGifts() throws Exception {
-        final int[] users = createUsersForTest();
-        try {
-            wipePrimaryExternalStorage(getDevice());
-
-            getDevice().uninstallPackage(EXTERNAL_STORAGE_APP_PKG);
-            getDevice().uninstallPackage(READ_EXTERNAL_STORAGE_APP_PKG);
-            getDevice().uninstallPackage(WRITE_EXTERNAL_STORAGE_APP_PKG);
-            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(EXTERNAL_STORAGE_APP_APK), false, options));
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(READ_EXTERNAL_STORAGE_APP_APK), false, options));
-            assertNull(getDevice()
-                    .installPackage(getTestAppFile(WRITE_EXTERNAL_STORAGE_APP_APK), false, options));
-
-            for (int user : users) {
-                assertTrue("Failed to write gifts", runDeviceTests(WRITE_EXTERNAL_STORAGE_APP_PKG,
-                        WRITE_EXTERNAL_STORAGE_APP_CLASS, "doWriteGifts", user));
-                assertTrue("Read failed to verify gifts", runDeviceTests(READ_EXTERNAL_STORAGE_APP_PKG,
-                        READ_EXTERNAL_STORAGE_APP_CLASS, "doVerifyGifts", user));
-                assertTrue("None failed to verify gifts", runDeviceTests(EXTERNAL_STORAGE_APP_PKG,
-                        EXTERNAL_STORAGE_APP_CLASS, "doVerifyGifts", user));
-            }
-        } finally {
-            getDevice().uninstallPackage(EXTERNAL_STORAGE_APP_PKG);
-            getDevice().uninstallPackage(READ_EXTERNAL_STORAGE_APP_PKG);
-            getDevice().uninstallPackage(WRITE_EXTERNAL_STORAGE_APP_PKG);
-            removeUsersForTest(users);
-        }
-    }
-
-    /**
      * Test that uninstall of an app removes its private data.
      */
     public void testUninstallRemovesData() throws Exception {
@@ -345,8 +202,7 @@
             assertNull(String.format("failed to install app with data. Reason: %s", installResult),
                     installResult);
             // run appwithdata's tests to create private data
-            assertTrue("failed to create app's private data", runDeviceTests(APP_WITH_DATA_PKG,
-                    APP_WITH_DATA_CLASS, APP_WITH_DATA_CREATE_METHOD));
+            runDeviceTests(APP_WITH_DATA_PKG, APP_WITH_DATA_CLASS, APP_WITH_DATA_CREATE_METHOD);
 
             getDevice().uninstallPackage(APP_WITH_DATA_PKG);
 
@@ -355,11 +211,9 @@
             assertNull(String.format("failed to install app with data second time. Reason: %s",
                     installResult), installResult);
             // run appwithdata's 'check if file exists' test
-            assertTrue("app's private data still exists after install", runDeviceTests(
-                    APP_WITH_DATA_PKG, APP_WITH_DATA_CLASS, APP_WITH_DATA_CHECK_NOEXIST_METHOD));
-
-        }
-        finally {
+            runDeviceTests(APP_WITH_DATA_PKG, APP_WITH_DATA_CLASS,
+                    APP_WITH_DATA_CHECK_NOEXIST_METHOD);
+        } finally {
             getDevice().uninstallPackage(APP_WITH_DATA_PKG);
         }
     }
@@ -389,10 +243,8 @@
             // run INSTRUMENT_DIFF_CERT_PKG tests
             // this test will attempt to call startInstrumentation directly and verify
             // SecurityException is thrown
-            assertTrue("running instrumentation with diff cert unexpectedly succeeded",
-                    runDeviceTests(INSTRUMENT_DIFF_CERT_PKG));
-        }
-        finally {
+            runDeviceTests(INSTRUMENT_DIFF_CERT_PKG);
+        } finally {
             getDevice().uninstallPackage(TARGET_INSTRUMENT_PKG);
             getDevice().uninstallPackage(INSTRUMENT_DIFF_CERT_PKG);
         }
@@ -427,209 +279,20 @@
             assertNull(String.format("failed to install permission app with diff cert. Reason: %s",
                     installResult), installResult);
             // run PERMISSION_DIFF_CERT_PKG tests which try to access the permission
-            TestRunResult result = doRunTests(PERMISSION_DIFF_CERT_PKG, null, null, USER_OWNER);
-            assertDeviceTestsPass(result);
-        }
-        finally {
+            runDeviceTests(PERMISSION_DIFF_CERT_PKG);
+        } finally {
             getDevice().uninstallPackage(DECLARE_PERMISSION_PKG);
             getDevice().uninstallPackage(DECLARE_PERMISSION_COMPAT_PKG);
             getDevice().uninstallPackage(PERMISSION_DIFF_CERT_PKG);
         }
     }
 
-    /**
-     * Test multi-user emulated storage environment, ensuring that each user has
-     * isolated storage.
-     */
-    public void testMultiUserStorageIsolated() throws Exception {
-        final String PACKAGE = MULTIUSER_STORAGE_PKG;
-        final String CLAZZ = MULTIUSER_STORAGE_CLASS;
-
-        final int[] users = createUsersForTest();
-        try {
-            if (users.length == 1) {
-                Log.d(LOG_TAG, "Single user device; skipping isolated storage tests");
-                return;
-            }
-
-            final int owner = users[0];
-            final int secondary = users[1];
-
-            // Install our test app
-            getDevice().uninstallPackage(MULTIUSER_STORAGE_PKG);
-            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
-            final String installResult = getDevice()
-                    .installPackage(getTestAppFile(MULTIUSER_STORAGE_APK), false, options);
-            assertNull("Failed to install: " + installResult, installResult);
-
-            // Clear data from previous tests
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "cleanIsolatedStorage", owner));
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "cleanIsolatedStorage", secondary));
-
-            // Have both users try writing into isolated storage
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "writeIsolatedStorage", owner));
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "writeIsolatedStorage", secondary));
-
-            // Verify they both have isolated view of storage
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "readIsolatedStorage", owner));
-            assertDeviceTestsPass(
-                    doRunTests(PACKAGE, CLAZZ, "readIsolatedStorage", secondary));
-        } finally {
-            getDevice().uninstallPackage(MULTIUSER_STORAGE_PKG);
-            removeUsersForTest(users);
-        }
+    private void runDeviceTests(String packageName) throws DeviceNotAvailableException {
+        Utils.runDeviceTests(getDevice(), packageName);
     }
 
-    /**
-     * Helper method that checks that all tests in given result passed, and attempts to generate
-     * a meaningful error message if they failed.
-     *
-     * @param result
-     */
-    private void assertDeviceTestsPass(TestRunResult result) {
-        // TODO: consider rerunning if this occurred
-        assertFalse(String.format("Failed to successfully run device tests for %s. Reason: %s",
-                result.getName(), result.getRunFailureMessage()), result.isRunFailure());
-
-        if (result.hasFailedTests()) {
-            // build a meaningful error message
-            StringBuilder errorBuilder = new StringBuilder("on-device tests failed:\n");
-            for (Map.Entry<TestIdentifier, TestResult> resultEntry :
-                result.getTestResults().entrySet()) {
-                if (!resultEntry.getValue().getStatus().equals(TestStatus.PASSED)) {
-                    errorBuilder.append(resultEntry.getKey().toString());
-                    errorBuilder.append(":\n");
-                    errorBuilder.append(resultEntry.getValue().getStackTrace());
-                }
-            }
-            fail(errorBuilder.toString());
-        }
-    }
-
-    /**
-     * Helper method that will the specified packages tests on device.
-     *
-     * @param pkgName Android application package for tests
-     * @return <code>true</code> if all tests passed.
-     * @throws DeviceNotAvailableException if connection to device was lost.
-     */
-    private boolean runDeviceTests(String pkgName) throws DeviceNotAvailableException {
-        return runDeviceTests(pkgName, null, null, USER_OWNER);
-    }
-
-    private boolean runDeviceTests(String pkgName, int userId) throws DeviceNotAvailableException {
-        return runDeviceTests(pkgName, null, null, userId);
-    }
-
-    /**
-     * Helper method that will the specified packages tests on device.
-     *
-     * @param pkgName Android application package for tests
-     * @return <code>true</code> if all tests passed.
-     * @throws DeviceNotAvailableException if connection to device was lost.
-     */
-    private boolean runDeviceTests(String pkgName, String testClassName, String testMethodName)
+    private void runDeviceTests(String packageName, String testClassName, String testMethodName)
             throws DeviceNotAvailableException {
-        return runDeviceTests(pkgName, testClassName, testMethodName, USER_OWNER);
-    }
-
-    private boolean runDeviceTests(String pkgName, String testClassName, String testMethodName,
-            int userId) throws DeviceNotAvailableException {
-        TestRunResult runResult = doRunTests(pkgName, testClassName, testMethodName,
-                userId);
-        return !runResult.hasFailedTests();
-    }
-
-    private static boolean isMultiUserSupportedOnDevice(ITestDevice device)
-            throws DeviceNotAvailableException {
-        // TODO: move this to ITestDevice once it supports users
-        final String output = device.executeShellCommand("pm get-max-users");
-        try {
-            return Integer.parseInt(output.substring(output.lastIndexOf(" ")).trim()) > 1;
-        } catch (NumberFormatException e) {
-            fail("Failed to parse result: " + output);
-        }
-        return false;
-    }
-
-    /**
-     * Return set of users that test should be run for, creating a secondary
-     * user if the device supports it. Always call
-     * {@link #removeUsersForTest(int[])} when finished.
-     */
-    private int[] createUsersForTest() throws DeviceNotAvailableException {
-        if (isMultiUserSupportedOnDevice(getDevice())) {
-            return new int[] { USER_OWNER, createUserOnDevice(getDevice()) };
-        } else {
-            Log.d(LOG_TAG, "Single user device; skipping isolated storage tests");
-            return new int[] { USER_OWNER };
-        }
-    }
-
-    private void removeUsersForTest(int[] users) throws DeviceNotAvailableException {
-        for (int user : users) {
-            if (user != USER_OWNER) {
-                removeUserOnDevice(getDevice(), user);
-            }
-        }
-   }
-
-    private static int createUserOnDevice(ITestDevice device) throws DeviceNotAvailableException {
-        // TODO: move this to ITestDevice once it supports users
-        final String name = "CTS_" + System.currentTimeMillis();
-        final String output = device.executeShellCommand("pm create-user " + name);
-        if (output.startsWith("Success")) {
-            try {
-                final int userId = Integer.parseInt(
-                        output.substring(output.lastIndexOf(" ")).trim());
-                device.executeShellCommand("am start-user " + userId);
-                return userId;
-            } catch (NumberFormatException e) {
-                fail("Failed to parse result: " + output);
-            }
-        } else {
-            fail("Failed to create user: " + output);
-        }
-        throw new IllegalStateException();
-    }
-
-    private static void removeUserOnDevice(ITestDevice device, int userId)
-            throws DeviceNotAvailableException {
-        // TODO: move this to ITestDevice once it supports users
-        final String output = device.executeShellCommand("pm remove-user " + userId);
-        if (output.startsWith("Error")) {
-            fail("Failed to remove user: " + output);
-        }
-    }
-
-    private TestRunResult doRunTests(String pkgName, String testClassName, String testMethodName,
-            int userId) throws DeviceNotAvailableException {
-        // TODO: move this to RemoteAndroidTestRunner once it supports users
-        final StringBuilder cmd = new StringBuilder("am instrument --user " + userId + " -w -r");
-        if (testClassName != null) {
-            cmd.append(" -e class " + testClassName);
-            if (testMethodName != null) {
-                cmd.append("#" + testMethodName);
-            }
-        }
-        cmd.append(" " + pkgName + "/" + RUNNER);
-
-        Log.i(LOG_TAG, "Running " + cmd + " on " + getDevice().getSerialNumber());
-
-        CollectingTestListener listener = new CollectingTestListener();
-        InstrumentationResultParser parser = new InstrumentationResultParser(pkgName, listener);
-
-        getDevice().executeShellCommand(cmd.toString(), parser);
-        return listener.getCurrentRunResults();
-    }
-
-    private static void wipePrimaryExternalStorage(ITestDevice device)
-            throws DeviceNotAvailableException {
-        device.executeShellCommand("rm -rf /sdcard/*");
+        Utils.runDeviceTests(getDevice(), packageName, testClassName, testMethodName);
     }
 }
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/DocumentsTest.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/DocumentsTest.java
index fbde558..a4ec65a 100644
--- a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/DocumentsTest.java
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/DocumentsTest.java
@@ -24,6 +24,10 @@
 import com.android.tradefed.testtype.IAbiReceiver;
 import com.android.tradefed.testtype.IBuildReceiver;
 
+/**
+ * Set of tests that verify behavior of
+ * {@link android.provider.DocumentsContract} and related intents.
+ */
 public class DocumentsTest extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
     private static final String PROVIDER_PKG = "com.android.cts.documentprovider";
     private static final String PROVIDER_APK = "CtsDocumentProvider.apk";
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/ExternalStorageHostTest.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/ExternalStorageHostTest.java
new file mode 100644
index 0000000..cb67c63
--- /dev/null
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/ExternalStorageHostTest.java
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.appsecurity;
+
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.cts.util.AbiUtils;
+import com.android.ddmlib.Log;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
+import com.android.tradefed.testtype.IBuildReceiver;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+
+/**
+ * Set of tests that verify behavior of external storage devices.
+ */
+public class ExternalStorageHostTest extends DeviceTestCase
+        implements IAbiReceiver, IBuildReceiver {
+    private static final String TAG = "ExternalStorageHostTest";
+
+    private static final String COMMON_CLASS =
+            "com.android.cts.externalstorageapp.CommonExternalStorageTest";
+
+    private static final String NONE_APK = "CtsExternalStorageApp.apk";
+    private static final String NONE_PKG = "com.android.cts.externalstorageapp";
+    private static final String NONE_CLASS = ".ExternalStorageTest";
+    private static final String READ_APK = "CtsReadExternalStorageApp.apk";
+    private static final String READ_PKG = "com.android.cts.readexternalstorageapp";
+    private static final String READ_CLASS = ".ReadExternalStorageTest";
+    private static final String WRITE_APK = "CtsWriteExternalStorageApp.apk";
+    private static final String WRITE_PKG = "com.android.cts.writeexternalstorageapp";
+    private static final String WRITE_CLASS = ".WriteExternalStorageTest";
+    private static final String MULTIUSER_APK = "CtsMultiUserStorageApp.apk";
+    private static final String MULTIUSER_PKG = "com.android.cts.multiuserstorageapp";
+    private static final String MULTIUSER_CLASS = ".MultiUserStorageTest";
+
+    private IAbi mAbi;
+    private CtsBuildHelper mCtsBuild;
+
+    @Override
+    public void setAbi(IAbi abi) {
+        mAbi = abi;
+    }
+
+    @Override
+    public void setBuild(IBuildInfo buildInfo) {
+        mCtsBuild = CtsBuildHelper.createBuildHelper(buildInfo);
+    }
+
+    private File getTestAppFile(String fileName) throws FileNotFoundException {
+        return mCtsBuild.getTestApp(fileName);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        assertNotNull(mAbi);
+        assertNotNull(mCtsBuild);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Verify that app with no external storage permissions works correctly.
+     */
+    public void testExternalStorageNone() throws Exception {
+        final int[] users = createUsersForTest();
+        try {
+            wipePrimaryExternalStorage();
+
+            getDevice().uninstallPackage(NONE_PKG);
+            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
+            assertNull(getDevice().installPackage(getTestAppFile(NONE_APK), false, options));
+
+            for (int user : users) {
+                runDeviceTests(NONE_PKG, COMMON_CLASS, user);
+                runDeviceTests(NONE_PKG, NONE_CLASS, user);
+            }
+        } finally {
+            getDevice().uninstallPackage(NONE_PKG);
+            removeUsersForTest(users);
+        }
+    }
+
+    /**
+     * Verify that app with
+     * {@link android.Manifest.permission#READ_EXTERNAL_STORAGE} works
+     * correctly.
+     */
+    public void testExternalStorageRead() throws Exception {
+        final int[] users = createUsersForTest();
+        try {
+            wipePrimaryExternalStorage();
+
+            getDevice().uninstallPackage(READ_PKG);
+            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
+            assertNull(getDevice().installPackage(getTestAppFile(READ_APK), false, options));
+
+            for (int user : users) {
+                runDeviceTests(READ_PKG, COMMON_CLASS, user);
+                runDeviceTests(READ_PKG, READ_CLASS, user);
+            }
+        } finally {
+            getDevice().uninstallPackage(READ_PKG);
+            removeUsersForTest(users);
+        }
+    }
+
+    /**
+     * Verify that app with
+     * {@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE} works
+     * correctly.
+     */
+    public void testExternalStorageWrite() throws Exception {
+        final int[] users = createUsersForTest();
+        try {
+            wipePrimaryExternalStorage();
+
+            getDevice().uninstallPackage(WRITE_PKG);
+            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
+            assertNull(getDevice().installPackage(getTestAppFile(WRITE_APK), false, options));
+
+            for (int user : users) {
+                runDeviceTests(WRITE_PKG, COMMON_CLASS, user);
+                runDeviceTests(WRITE_PKG, WRITE_CLASS, user);
+            }
+        } finally {
+            getDevice().uninstallPackage(WRITE_PKG);
+            removeUsersForTest(users);
+        }
+    }
+
+    /**
+     * Verify that app with WRITE_EXTERNAL can leave gifts in external storage
+     * directories belonging to other apps, and those apps can read.
+     */
+    public void testExternalStorageGifts() throws Exception {
+        final int[] users = createUsersForTest();
+        try {
+            wipePrimaryExternalStorage();
+
+            getDevice().uninstallPackage(NONE_PKG);
+            getDevice().uninstallPackage(READ_PKG);
+            getDevice().uninstallPackage(WRITE_PKG);
+            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
+            assertNull(getDevice().installPackage(getTestAppFile(NONE_APK), false, options));
+            assertNull(getDevice().installPackage(getTestAppFile(READ_APK), false, options));
+            assertNull(getDevice().installPackage(getTestAppFile(WRITE_APK), false, options));
+
+            for (int user : users) {
+                runDeviceTests(WRITE_PKG, "WriteGiftTest", user);
+                runDeviceTests(READ_PKG, "ReadGiftTest", user);
+                runDeviceTests(NONE_PKG, "GiftTest", user);
+            }
+        } finally {
+            getDevice().uninstallPackage(NONE_PKG);
+            getDevice().uninstallPackage(READ_PKG);
+            getDevice().uninstallPackage(WRITE_PKG);
+            removeUsersForTest(users);
+        }
+    }
+
+    /**
+     * Test multi-user emulated storage environment, ensuring that each user has
+     * isolated storage.
+     */
+    public void testMultiUserStorageIsolated() throws Exception {
+        final int[] users = createUsersForTest();
+        try {
+            if (users.length == 1) {
+                Log.d(TAG, "Single user device; skipping isolated storage tests");
+                return;
+            }
+
+            final int owner = users[0];
+            final int secondary = users[1];
+
+            // Install our test app
+            getDevice().uninstallPackage(MULTIUSER_PKG);
+            String[] options = {AbiUtils.createAbiFlag(mAbi.getName())};
+            final String installResult = getDevice()
+                    .installPackage(getTestAppFile(MULTIUSER_APK), false, options);
+            assertNull("Failed to install: " + installResult, installResult);
+
+            // Clear data from previous tests
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testCleanIsolatedStorage", owner);
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testCleanIsolatedStorage", secondary);
+
+            // Have both users try writing into isolated storage
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testWriteIsolatedStorage", owner);
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testWriteIsolatedStorage", secondary);
+
+            // Verify they both have isolated view of storage
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testReadIsolatedStorage", owner);
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testReadIsolatedStorage", secondary);
+
+            // Verify they can't poke at each other
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testUserIsolation", owner);
+            runDeviceTests(MULTIUSER_PKG, MULTIUSER_CLASS, "testUserIsolation", secondary);
+        } finally {
+            getDevice().uninstallPackage(MULTIUSER_PKG);
+            removeUsersForTest(users);
+        }
+    }
+
+    private void wipePrimaryExternalStorage() throws DeviceNotAvailableException {
+        getDevice().executeShellCommand("rm -rf /sdcard/*");
+    }
+
+    private int[] createUsersForTest() throws DeviceNotAvailableException {
+        return Utils.createUsersForTest(getDevice());
+    }
+
+    private void removeUsersForTest(int[] users) throws DeviceNotAvailableException {
+        Utils.removeUsersForTest(getDevice(), users);
+    }
+
+    private void runDeviceTests(String packageName, String testClassName, int userId)
+            throws DeviceNotAvailableException {
+        Utils.runDeviceTests(getDevice(), packageName, testClassName, userId);
+    }
+
+    private void runDeviceTests(String packageName, String testClassName, String testMethodName,
+            int userId) throws DeviceNotAvailableException {
+        Utils.runDeviceTests(getDevice(), packageName, testClassName, testMethodName, userId);
+    }
+}
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/PermissionsHostTest.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/PermissionsHostTest.java
new file mode 100644
index 0000000..4b5259d
--- /dev/null
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/PermissionsHostTest.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.appsecurity;
+
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.testtype.IAbi;
+import com.android.tradefed.testtype.IAbiReceiver;
+import com.android.tradefed.testtype.IBuildReceiver;
+
+/**
+ * Set of tests that verify behavior of runtime permissions, including both
+ * dynamic granting and behavior of legacy apps.
+ */
+public class PermissionsHostTest extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
+    private static final String PKG = "com.android.cts.usepermission";
+
+    private static final String APK = "CtsUsePermissionApp.apk";
+    private static final String APK_COMPAT = "CtsUsePermissionAppCompat.apk";
+
+    private IAbi mAbi;
+    private CtsBuildHelper mCtsBuild;
+
+    @Override
+    public void setAbi(IAbi abi) {
+        mAbi = abi;
+    }
+
+    @Override
+    public void setBuild(IBuildInfo buildInfo) {
+        mCtsBuild = CtsBuildHelper.createBuildHelper(buildInfo);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        assertNotNull(mAbi);
+        assertNotNull(mCtsBuild);
+
+        getDevice().uninstallPackage(PKG);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+
+        getDevice().uninstallPackage(PKG);
+    }
+
+    public void testFail() throws Exception {
+        // Sanity check that remote failure is host failure
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK), false, false));
+        try {
+            runDeviceTests(PKG, ".UsePermissionTest", "testFail");
+            fail("Expected remote failure");
+        } catch (AssertionError expected) {
+        }
+    }
+
+    public void testKill() throws Exception {
+        // Sanity check that remote kill is host failure
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK), false, false));
+        try {
+            runDeviceTests(PKG, ".UsePermissionTest", "testKill");
+            fail("Expected remote failure");
+        } catch (AssertionError expected) {
+        }
+    }
+
+    public void testDefault() throws Exception {
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK), false, false));
+        runDeviceTests(PKG, ".UsePermissionTest", "testDefault");
+    }
+
+    public void testGranted() throws Exception {
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK), false, false));
+        grantPermission(PKG, "android.permission.READ_EXTERNAL_STORAGE");
+        grantPermission(PKG, "android.permission.WRITE_EXTERNAL_STORAGE");
+        runDeviceTests(PKG, ".UsePermissionTest", "testGranted");
+    }
+
+    public void testInteractiveGrant() throws Exception {
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK), false, false));
+        runDeviceTests(PKG, ".UsePermissionTest", "testInteractiveGrant");
+    }
+
+    public void testCompatDefault() throws Exception {
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK_COMPAT), false, false));
+        runDeviceTests(PKG, ".UsePermissionCompatTest", "testCompatDefault");
+    }
+
+    public void testCompatRevoked() throws Exception {
+        assertNull(getDevice().installPackage(mCtsBuild.getTestApp(APK_COMPAT), false, false));
+        setAppOps(PKG, "android:read_external_storage", "deny");
+        setAppOps(PKG, "android:write_external_storage", "deny");
+        runDeviceTests(PKG, ".UsePermissionCompatTest", "testCompatRevoked");
+    }
+
+    private void runDeviceTests(String packageName, String testClassName, String testMethodName)
+            throws DeviceNotAvailableException {
+        Utils.runDeviceTests(getDevice(), packageName, testClassName, testMethodName);
+    }
+
+    private void grantPermission(String pkg, String permission) throws Exception {
+        assertEmpty(getDevice().executeShellCommand("pm grant " + pkg + " " + permission));
+    }
+
+    private void revokePermission(String pkg, String permission) throws Exception {
+        assertEmpty(getDevice().executeShellCommand("pm revoke " + pkg + " " + permission));
+    }
+
+    private void setAppOps(String pkg, String op, String mode) throws Exception {
+        assertEmpty(getDevice().executeShellCommand("appops set " + pkg + " " + op + " " + mode));
+    }
+
+    private static void assertEmpty(String str) {
+        if (str == null || str.length() == 0) {
+            return;
+        } else {
+            fail("Expected empty string but found " + str);
+        }
+    }
+}
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/SplitTests.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/SplitTests.java
index 90cbed9..ef3af8d 100644
--- a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/SplitTests.java
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/SplitTests.java
@@ -36,14 +36,15 @@
  * Tests that verify installing of various split APKs from host side.
  */
 public class SplitTests extends DeviceTestCase implements IAbiReceiver, IBuildReceiver {
-    private static final String PKG = "com.android.cts.splitapp";
+    static final String PKG = "com.android.cts.splitapp";
+    static final String CLASS = ".SplitAppTest";
 
-    private static final String APK = "CtsSplitApp.apk";
+    static final String APK = "CtsSplitApp.apk";
 
-    private static final String APK_mdpi = "CtsSplitApp_mdpi-v4.apk";
-    private static final String APK_hdpi = "CtsSplitApp_hdpi-v4.apk";
-    private static final String APK_xhdpi = "CtsSplitApp_xhdpi-v4.apk";
-    private static final String APK_xxhdpi = "CtsSplitApp_xxhdpi-v4.apk";
+    static final String APK_mdpi = "CtsSplitApp_mdpi-v4.apk";
+    static final String APK_hdpi = "CtsSplitApp_hdpi-v4.apk";
+    static final String APK_xhdpi = "CtsSplitApp_xhdpi-v4.apk";
+    static final String APK_xxhdpi = "CtsSplitApp_xxhdpi-v4.apk";
 
     private static final String APK_v7 = "CtsSplitApp_v7.apk";
     private static final String APK_fr = "CtsSplitApp_fr.apk";
@@ -69,7 +70,7 @@
     private static final String APK_FEATURE = "CtsSplitAppFeature.apk";
     private static final String APK_FEATURE_v7 = "CtsSplitAppFeature_v7.apk";
 
-    private static final HashMap<String, String> ABI_TO_APK = new HashMap<>();
+    static final HashMap<String, String> ABI_TO_APK = new HashMap<>();
 
     static {
         ABI_TO_APK.put("x86", APK_x86);
@@ -113,18 +114,18 @@
 
     public void testSingleBase() throws Exception {
         new InstallMultiple().addApk(APK).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testSingleBase");
+        runDeviceTests(PKG, CLASS, "testSingleBase");
     }
 
     public void testDensitySingle() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_mdpi).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testDensitySingle");
+        runDeviceTests(PKG, CLASS, "testDensitySingle");
     }
 
     public void testDensityAll() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_mdpi).addApk(APK_hdpi).addApk(APK_xhdpi)
                 .addApk(APK_xxhdpi).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testDensityAll");
+        runDeviceTests(PKG, CLASS, "testDensityAll");
     }
 
     /**
@@ -133,11 +134,11 @@
      */
     public void testDensityBest() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_mdpi).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testDensityBest1");
+        runDeviceTests(PKG, CLASS, "testDensityBest1");
 
         // Now splice in an additional split which offers better resources
         new InstallMultiple().inheritFrom(PKG).addApk(APK_xxhdpi).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testDensityBest2");
+        runDeviceTests(PKG, CLASS, "testDensityBest2");
     }
 
     /**
@@ -146,12 +147,12 @@
      */
     public void testApi() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testApi");
+        runDeviceTests(PKG, CLASS, "testApi");
     }
 
     public void testLocale() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_de).addApk(APK_fr).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testLocale");
+        runDeviceTests(PKG, CLASS, "testLocale");
     }
 
     /**
@@ -164,7 +165,7 @@
         assertNotNull("Failed to find APK for ABI " + abi, apk);
 
         new InstallMultiple().addApk(APK).addApk(apk).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testNative");
+        runDeviceTests(PKG, CLASS, "testNative");
     }
 
     /**
@@ -179,7 +180,7 @@
         assertNotNull("Failed to find APK for ABI " + abi, apk);
 
         new InstallMultiple().useNaturalAbi().addApk(APK).addApk(apk).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testNative");
+        runDeviceTests(PKG, CLASS, "testNative");
     }
 
     /**
@@ -192,7 +193,7 @@
             inst.addApk(apk);
         }
         inst.run();
-        runDeviceTests(PKG, ".SplitAppTest", "testNative");
+        runDeviceTests(PKG, CLASS, "testNative");
     }
 
     /**
@@ -207,7 +208,7 @@
             inst.addApk(apk);
         }
         inst.run();
-        runDeviceTests(PKG, ".SplitAppTest", "testNative");
+        runDeviceTests(PKG, CLASS, "testNative");
     }
 
     public void testDuplicateBase() throws Exception {
@@ -238,21 +239,21 @@
 
     public void testDiffRevision() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_DIFF_REVISION_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testRevision0_12");
+        runDeviceTests(PKG, CLASS, "testRevision0_12");
     }
 
     public void testDiffRevisionInheritBase() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testRevision0_0");
+        runDeviceTests(PKG, CLASS, "testRevision0_0");
         new InstallMultiple().inheritFrom(PKG).addApk(APK_DIFF_REVISION_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testRevision0_12");
+        runDeviceTests(PKG, CLASS, "testRevision0_12");
     }
 
     public void testDiffRevisionInheritSplit() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testRevision0_0");
+        runDeviceTests(PKG, CLASS, "testRevision0_0");
         new InstallMultiple().inheritFrom(PKG).addApk(APK_DIFF_REVISION).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testRevision12_0");
+        runDeviceTests(PKG, CLASS, "testRevision12_0");
     }
 
     public void testDiffRevisionDowngrade() throws Exception {
@@ -262,12 +263,12 @@
 
     public void testFeatureBase() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_FEATURE).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testFeatureBase");
+        runDeviceTests(PKG, CLASS, "testFeatureBase");
     }
 
     public void testFeatureApi() throws Exception {
         new InstallMultiple().addApk(APK).addApk(APK_FEATURE).addApk(APK_FEATURE_v7).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testFeatureApi");
+        runDeviceTests(PKG, CLASS, "testFeatureApi");
     }
 
     public void testInheritUpdatedBase() throws Exception {
@@ -283,35 +284,72 @@
      */
     public void testClearCodeCache() throws Exception {
         new InstallMultiple().addApk(APK).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testCodeCacheWrite");
+        runDeviceTests(PKG, CLASS, "testCodeCacheWrite");
         new InstallMultiple().addArg("-r").addApk(APK_DIFF_VERSION).run();
-        runDeviceTests(PKG, ".SplitAppTest", "testCodeCacheRead");
+        runDeviceTests(PKG, CLASS, "testCodeCacheRead");
     }
 
-    class InstallMultiple {
-        private List<String> mArgs = new ArrayList<>();
-        private List<File> mApks = new ArrayList<>();
+    private class InstallMultiple extends BaseInstallMultiple<InstallMultiple> {
+        public InstallMultiple() {
+            super(getDevice(), mCtsBuild, mAbi);
+        }
+    }
+
+    public static class BaseInstallMultiple<T extends BaseInstallMultiple<?>> {
+        private final ITestDevice mDevice;
+        private final CtsBuildHelper mBuild;
+        private final IAbi mAbi;
+
+        private final List<String> mArgs = new ArrayList<>();
+        private final List<File> mApks = new ArrayList<>();
         private boolean mUseNaturalAbi;
 
-        InstallMultiple addArg(String arg) {
+        public BaseInstallMultiple(ITestDevice device, CtsBuildHelper build, IAbi abi) {
+            mDevice = device;
+            mBuild = build;
+            mAbi = abi;
+            addArg("-g");
+        }
+
+        T addArg(String arg) {
             mArgs.add(arg);
-            return this;
+            return (T) this;
         }
 
-        InstallMultiple addApk(String apk) throws FileNotFoundException {
-            mApks.add(mCtsBuild.getTestApp(apk));
-            return this;
+        T addApk(String apk) throws FileNotFoundException {
+            mApks.add(mBuild.getTestApp(apk));
+            return (T) this;
         }
 
-        InstallMultiple inheritFrom(String packageName) {
+        T inheritFrom(String packageName) {
             addArg("-r");
             addArg("-p " + packageName);
-            return this;
+            return (T) this;
         }
 
-        InstallMultiple useNaturalAbi() {
+        T useNaturalAbi() {
             mUseNaturalAbi = true;
-            return this;
+            return (T) this;
+        }
+
+        T locationAuto() {
+            addArg("--install-location 0");
+            return (T) this;
+        }
+
+        T locationInternalOnly() {
+            addArg("--install-location 1");
+            return (T) this;
+        }
+
+        T locationPreferExternal() {
+            addArg("--install-location 2");
+            return (T) this;
+        }
+
+        T forceUuid(String uuid) {
+            addArg("--force-uuid " + uuid);
+            return (T) this;
         }
 
         void run() throws DeviceNotAvailableException {
@@ -323,7 +361,7 @@
         }
 
         private void run(boolean expectingSuccess) throws DeviceNotAvailableException {
-            final ITestDevice device = getDevice();
+            final ITestDevice device = mDevice;
 
             // Create an install session
             final StringBuilder cmd = new StringBuilder();
diff --git a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/Utils.java b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/Utils.java
index c58d6bf..fdf84d3 100644
--- a/hostsidetests/appsecurity/src/com/android/cts/appsecurity/Utils.java
+++ b/hostsidetests/appsecurity/src/com/android/cts/appsecurity/Utils.java
@@ -16,6 +16,7 @@
 
 package com.android.cts.appsecurity;
 
+import com.android.ddmlib.Log;
 import com.android.ddmlib.testrunner.RemoteAndroidTestRunner;
 import com.android.ddmlib.testrunner.TestIdentifier;
 import com.android.ddmlib.testrunner.TestResult;
@@ -28,13 +29,37 @@
 import java.util.Map;
 
 public class Utils {
+    private static final String TAG = "AppSecurity";
+
+    public static final int USER_OWNER = 0;
+
     public static void runDeviceTests(ITestDevice device, String packageName)
             throws DeviceNotAvailableException {
-        runDeviceTests(device, packageName, null, null);
+        runDeviceTests(device, packageName, null, null, USER_OWNER);
+    }
+
+    public static void runDeviceTests(ITestDevice device, String packageName, int userId)
+            throws DeviceNotAvailableException {
+        runDeviceTests(device, packageName, null, null, userId);
+    }
+
+    public static void runDeviceTests(ITestDevice device, String packageName, String testClassName)
+            throws DeviceNotAvailableException {
+        runDeviceTests(device, packageName, testClassName, null, USER_OWNER);
+    }
+
+    public static void runDeviceTests(ITestDevice device, String packageName, String testClassName,
+            int userId) throws DeviceNotAvailableException {
+        runDeviceTests(device, packageName, testClassName, null, userId);
     }
 
     public static void runDeviceTests(ITestDevice device, String packageName, String testClassName,
             String testMethodName) throws DeviceNotAvailableException {
+        runDeviceTests(device, packageName, testClassName, testMethodName, USER_OWNER);
+    }
+
+    public static void runDeviceTests(ITestDevice device, String packageName, String testClassName,
+            String testMethodName, int userId) throws DeviceNotAvailableException {
         if (testClassName != null && testClassName.startsWith(".")) {
             testClassName = packageName + testClassName;
         }
@@ -43,6 +68,13 @@
                 "android.support.test.runner.AndroidJUnitRunner", device.getIDevice());
         if (testClassName != null && testMethodName != null) {
             testRunner.setMethodName(testClassName, testMethodName);
+        } else if (testClassName != null) {
+            testRunner.setClassName(testClassName);
+        }
+
+        if (userId != USER_OWNER) {
+            // TODO: move this to RemoteAndroidTestRunner once it supports users
+            testRunner.addInstrumentationArg("hack_key", "hack_value --user " + userId);
         }
 
         final CollectingTestListener listener = new CollectingTestListener();
@@ -68,4 +100,66 @@
             throw new AssertionError(errorBuilder.toString());
         }
     }
+
+    private static boolean isMultiUserSupportedOnDevice(ITestDevice device)
+            throws DeviceNotAvailableException {
+        // TODO: move this to ITestDevice once it supports users
+        final String output = device.executeShellCommand("pm get-max-users");
+        try {
+            return Integer.parseInt(output.substring(output.lastIndexOf(" ")).trim()) > 1;
+        } catch (NumberFormatException e) {
+            throw new AssertionError("Failed to parse result: " + output);
+        }
+    }
+
+    /**
+     * Return set of users that test should be run for, creating a secondary
+     * user if the device supports it. Always call
+     * {@link #removeUsersForTest(ITestDevice, int[])} when finished.
+     */
+    public static int[] createUsersForTest(ITestDevice device) throws DeviceNotAvailableException {
+        if (isMultiUserSupportedOnDevice(device)) {
+            return new int[] { USER_OWNER, createUserOnDevice(device) };
+        } else {
+            Log.d(TAG, "Single user device; skipping isolated storage tests");
+            return new int[] { USER_OWNER };
+        }
+    }
+
+    public static void removeUsersForTest(ITestDevice device, int[] users)
+            throws DeviceNotAvailableException {
+        for (int user : users) {
+            if (user != USER_OWNER) {
+                removeUserOnDevice(device, user);
+            }
+        }
+    }
+
+    private static int createUserOnDevice(ITestDevice device) throws DeviceNotAvailableException {
+        // TODO: move this to ITestDevice once it supports users
+        final String name = "CTS_" + System.currentTimeMillis();
+        final String output = device.executeShellCommand("pm create-user " + name);
+        if (output.startsWith("Success")) {
+            try {
+                final int userId = Integer.parseInt(
+                        output.substring(output.lastIndexOf(" ")).trim());
+                device.executeShellCommand("am start-user " + userId);
+                return userId;
+            } catch (NumberFormatException e) {
+                throw new AssertionError("Failed to parse result: " + output);
+            }
+        } else {
+            throw new AssertionError("Failed to create user: " + output);
+        }
+    }
+
+    private static void removeUserOnDevice(ITestDevice device, int userId)
+            throws DeviceNotAvailableException {
+        // TODO: move this to ITestDevice once it supports users
+        final String output = device.executeShellCommand("pm remove-user " + userId);
+        if (output.startsWith("Error")) {
+            throw new AssertionError("Failed to remove user: " + output);
+        }
+    }
+
 }
diff --git a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/AndroidManifest.xml b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/AndroidManifest.xml
index 9d8f615..98fe92a 100644
--- a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/AndroidManifest.xml
+++ b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/AndroidManifest.xml
@@ -23,4 +23,6 @@
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
         android:targetPackage="com.android.cts.externalstorageapp" />
 
+    <uses-permission android:name="android.permission.INTERNET" />
+
 </manifest>
diff --git a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java
index aa09f75..7fe0b80 100644
--- a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java
+++ b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java
@@ -16,17 +16,24 @@
 
 package com.android.cts.externalstorageapp;
 
+import android.content.ContentResolver;
+import android.content.ContentValues;
 import android.content.Context;
+import android.net.Uri;
 import android.os.Environment;
+import android.provider.MediaStore;
+import android.provider.MediaStore.Images;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
+import java.io.BufferedReader;
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -100,7 +107,7 @@
         for (File path : paths) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             assertDirReadWriteAccess(path);
 
@@ -161,6 +168,21 @@
         return paths;
     }
 
+    public static List<File> getMountPaths() throws IOException {
+        final List<File> paths = new ArrayList<>();
+        final BufferedReader br = new BufferedReader(new FileReader("/proc/self/mounts"));
+        try {
+            String line;
+            while ((line = br.readLine()) != null) {
+                final String[] fields = line.split(" ");
+                paths.add(new File(fields[1]));
+            }
+        } finally {
+            br.close();
+        }
+        return paths;
+    }
+
     private static File[] dropFirst(File[] before) {
         final File[] after = new File[before.length - 1];
         System.arraycopy(before, 1, after, 0, after.length);
@@ -286,6 +308,35 @@
         }
     }
 
+    public static void assertMediaNoAccess(ContentResolver resolver) throws Exception {
+        final ContentValues values = new ContentValues();
+        values.put(Images.Media.MIME_TYPE, "image/jpeg");
+        values.put(Images.Media.DATA,
+                buildProbeFile(Environment.getExternalStorageDirectory()).getAbsolutePath());
+
+        try {
+            resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
+            fail("Expected access to be blocked");
+        } catch (Exception expected) {
+        }
+    }
+
+    public static void assertMediaReadWriteAccess(ContentResolver resolver) throws Exception {
+        final ContentValues values = new ContentValues();
+        values.put(Images.Media.MIME_TYPE, "image/jpeg");
+        values.put(Images.Media.DATA,
+                buildProbeFile(Environment.getExternalStorageDirectory()).getAbsolutePath());
+
+        final Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
+        try {
+            resolver.openFileDescriptor(uri, "rw").close();
+            resolver.openFileDescriptor(uri, "w").close();
+            resolver.openFileDescriptor(uri, "r").close();
+        } finally {
+            resolver.delete(uri, null, null);
+        }
+    }
+
     private static boolean isWhiteList(File file) {
         final String[] whiteLists = {
                 "autorun.inf", ".android_secure", "android_secure"
@@ -351,7 +402,7 @@
         }
     }
 
-    private static void logCommand(String... cmd) throws Exception {
+    public static void logCommand(String... cmd) throws Exception {
         final Process proc = new ProcessBuilder(cmd).redirectErrorStream(true).start();
 
         final ByteArrayOutputStream buf = new ByteArrayOutputStream();
diff --git a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/ExternalStorageTest.java b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/ExternalStorageTest.java
index 425815f..6030f1c 100644
--- a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/ExternalStorageTest.java
+++ b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/ExternalStorageTest.java
@@ -16,21 +16,31 @@
 
 package com.android.cts.externalstorageapp;
 
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoWriteAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileNoAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getAllPackageSpecificPaths;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getMountPaths;
 
+import android.app.DownloadManager;
+import android.app.DownloadManager.Query;
+import android.app.DownloadManager.Request;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.database.Cursor;
+import android.net.Uri;
 import android.os.Environment;
+import android.os.SystemClock;
 import android.test.AndroidTestCase;
+import android.text.format.DateUtils;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileReader;
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.List;
 
 /**
@@ -62,7 +72,7 @@
             }
 
             // Keep walking up until we leave device
-            while (Environment.MEDIA_MOUNTED.equals(Environment.getStorageState(path))) {
+            while (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState(path))) {
                 assertDirNoAccess(path);
                 path = path.getParentFile();
             }
@@ -70,17 +80,123 @@
     }
 
     /**
-     * Verify we can read only our gifts.
+     * Verify that we don't have read access to any storage mountpoints.
      */
-    public void doVerifyGifts() throws Exception {
-        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
-        assertFileReadWriteAccess(none);
-        assertEquals(100, readInt(none));
+    public void testMountPointsNotReadable() throws Exception {
+        final String userId = Integer.toString(android.os.Process.myUid() / 100000);
+        final List<File> mountPaths = getMountPaths();
+        for (File path : mountPaths) {
+            if (path.getAbsolutePath().startsWith("/mnt/")
+                    || path.getAbsolutePath().startsWith("/storage/")) {
+                // Mount points could be multi-user aware, so try probing both
+                // top level and user-specific directory.
+                final File userPath = new File(path, userId);
 
-        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
-        assertFileNoAccess(read);
+                assertDirNoAccess(path);
+                assertDirNoAccess(userPath);
+            }
+        }
+    }
 
-        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
-        assertFileNoAccess(write);
+    /**
+     * Verify that we can't download things outside package directory.
+     */
+    public void testDownloadManager() throws Exception {
+        final DownloadManager dm = getContext().getSystemService(DownloadManager.class);
+        try {
+            final Uri source = Uri.parse("http://www.example.com");
+            final File target = new File(
+                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), "meow");
+            dm.enqueue(new Request(source).setDestinationUri(Uri.fromFile(target)));
+            fail("Unexpected success writing outside package directory");
+        } catch (SecurityException expected) {
+        }
+    }
+
+    /**
+     * Verify that we can download things into our package directory.
+     */
+    public void testDownloadManagerPackage() throws Exception {
+        final DownloadManager dm = getContext().getSystemService(DownloadManager.class);
+        final DownloadCompleteReceiver receiver = new DownloadCompleteReceiver();
+        try {
+            IntentFilter intentFilter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE);
+            mContext.registerReceiver(receiver, intentFilter);
+
+            final Uri source = Uri.parse("http://www.example.com");
+            final File target = new File(
+                    getContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "meow");
+
+            final long id = dm.enqueue(new Request(source).setDestinationUri(Uri.fromFile(target)));
+            receiver.waitForDownloadComplete(30 * DateUtils.SECOND_IN_MILLIS, id);
+            assertSuccessfulDownload(id, target);
+        } finally {
+            mContext.unregisterReceiver(receiver);
+        }
+    }
+
+    /**
+     * Shamelessly borrowed from DownloadManagerTest.java
+     */
+    private static class DownloadCompleteReceiver extends BroadcastReceiver {
+        private HashSet<Long> mCompleteIds = new HashSet<>();
+
+        public DownloadCompleteReceiver() {
+        }
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            synchronized (mCompleteIds) {
+                mCompleteIds.add(intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1));
+                mCompleteIds.notifyAll();
+            }
+        }
+
+        private boolean isCompleteLocked(long... ids) {
+            for (long id : ids) {
+                if (!mCompleteIds.contains(id)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        public void waitForDownloadComplete(long timeoutMillis, long... waitForIds)
+                throws InterruptedException {
+            if (waitForIds.length == 0) {
+                throw new IllegalArgumentException("Missing IDs to wait for");
+            }
+
+            final long startTime = SystemClock.elapsedRealtime();
+            do {
+                synchronized (mCompleteIds) {
+                    mCompleteIds.wait(timeoutMillis);
+                    if (isCompleteLocked(waitForIds)) return;
+                }
+            } while ((SystemClock.elapsedRealtime() - startTime) < timeoutMillis);
+
+            throw new InterruptedException("Timeout waiting for IDs " + Arrays.toString(waitForIds)
+                    + "; received " + mCompleteIds.toString()
+                    + ".  Make sure you have WiFi or some other connectivity for this test.");
+        }
+    }
+
+    private void assertSuccessfulDownload(long id, File location) {
+        final DownloadManager dm = getContext().getSystemService(DownloadManager.class);
+
+        Cursor cursor = null;
+        try {
+            cursor = dm.query(new Query().setFilterById(id));
+            assertTrue(cursor.moveToNext());
+            assertEquals(DownloadManager.STATUS_SUCCESSFUL, cursor.getInt(
+                    cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)));
+            assertEquals(Uri.fromFile(location).toString(),
+                    cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)));
+            assertTrue(location.exists());
+        } finally {
+            if (cursor != null) {
+                cursor.close();
+            }
+        }
     }
 }
diff --git a/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/GiftTest.java b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/GiftTest.java
new file mode 100644
index 0000000..e482b2f
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/ExternalStorageApp/src/com/android/cts/externalstorageapp/GiftTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.externalstorageapp;
+
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
+
+import android.test.AndroidTestCase;
+
+import java.io.File;
+
+public class GiftTest extends AndroidTestCase {
+    /**
+     * Verify we can read only our gifts.
+     */
+    public void testGifts() throws Exception {
+        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
+        assertFileReadWriteAccess(none);
+        assertEquals(100, readInt(none));
+
+        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
+        assertFileNoAccess(read);
+
+        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
+        assertFileNoAccess(write);
+    }
+}
diff --git a/hostsidetests/appsecurity/test-apps/MultiUserStorageApp/src/com/android/cts/multiuserstorageapp/MultiUserStorageTest.java b/hostsidetests/appsecurity/test-apps/MultiUserStorageApp/src/com/android/cts/multiuserstorageapp/MultiUserStorageTest.java
index 2a80c75..d9f00d2 100644
--- a/hostsidetests/appsecurity/test-apps/MultiUserStorageApp/src/com/android/cts/multiuserstorageapp/MultiUserStorageTest.java
+++ b/hostsidetests/appsecurity/test-apps/MultiUserStorageApp/src/com/android/cts/multiuserstorageapp/MultiUserStorageTest.java
@@ -16,6 +16,7 @@
 
 package com.android.cts.multiuserstorageapp;
 
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getAllPackageSpecificPathsExceptObb;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.writeInt;
@@ -45,7 +46,9 @@
 
     private void wipeTestFiles(File dir) {
         dir.mkdirs();
-        for (File file : dir.listFiles()) {
+        final File[] files = dir.listFiles();
+        if (files == null) return;
+        for (File file : files) {
             if (file.getName().startsWith(FILE_PREFIX)) {
                 Log.d(TAG, "Wiping " + file);
                 file.delete();
@@ -53,11 +56,11 @@
         }
     }
 
-    public void cleanIsolatedStorage() throws Exception {
+    public void testCleanIsolatedStorage() throws Exception {
         wipeTestFiles(Environment.getExternalStorageDirectory());
     }
 
-    public void writeIsolatedStorage() throws Exception {
+    public void testWriteIsolatedStorage() throws Exception {
         final int uid = android.os.Process.myUid();
 
         writeInt(buildApiPath(FILE_SINGLETON), uid);
@@ -67,13 +70,13 @@
         for (File path : getAllPackageSpecificPathsExceptObb(getContext())) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             writeInt(new File(path, FILE_SINGLETON), uid);
         }
     }
 
-    public void readIsolatedStorage() throws Exception {
+    public void testReadIsolatedStorage() throws Exception {
         final int uid = android.os.Process.myUid();
 
         // Expect that the value we wrote earlier is still valid and wasn't
@@ -91,23 +94,23 @@
         for (File path : getAllPackageSpecificPathsExceptObb(getContext())) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             assertEquals("Unexpected value in singleton file at " + path, uid,
                     readInt(new File(path, FILE_SINGLETON)));
         }
     }
 
-    public void cleanObbStorage() throws Exception {
+    public void testCleanObbStorage() throws Exception {
         wipeTestFiles(getContext().getObbDir());
     }
 
-    public void writeObbStorage() throws Exception {
+    public void testWriteObbStorage() throws Exception {
         writeInt(buildApiObbPath(FILE_OBB_API_SINGLETON), OBB_API_VALUE);
         writeInt(buildEnvObbPath(FILE_OBB_SINGLETON), OBB_VALUE);
     }
 
-    public void readObbStorage() throws Exception {
+    public void testReadObbStorage() throws Exception {
         assertEquals("Failed to read OBB file from API path", OBB_API_VALUE,
                 readInt(buildApiObbPath(FILE_OBB_API_SINGLETON)));
 
@@ -117,6 +120,24 @@
                 readInt(buildRawObbPath(FILE_OBB_SINGLETON)));
     }
 
+    /**
+     * Verify that we can't poke at storage of other users.
+     */
+    public void testUserIsolation() throws Exception {
+        final File myPath = Environment.getExternalStorageDirectory();
+        final int myId = android.os.Process.myUid() / 100000;
+        assertEquals(String.valueOf(myId), myPath.getName());
+
+        Log.d(TAG, "My path is " + myPath);
+        final File basePath = myPath.getParentFile();
+        for (int i = 0; i < 128; i++) {
+            if (i == myId) continue;
+
+            final File otherPath = new File(basePath, String.valueOf(i));
+            assertDirNoAccess(otherPath);
+        }
+    }
+
     private File buildApiObbPath(String file) {
         return new File(getContext().getObbDir(), file);
     }
diff --git a/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadExternalStorageTest.java b/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadExternalStorageTest.java
index bbd1e7a..995da90 100644
--- a/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadExternalStorageTest.java
+++ b/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadExternalStorageTest.java
@@ -16,16 +16,11 @@
 
 package com.android.cts.readexternalstorageapp;
 
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoWriteAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadOnlyAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadOnlyAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getAllPackageSpecificPaths;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getMountPaths;
 
 import android.os.Environment;
 import android.test.AndroidTestCase;
@@ -54,7 +49,7 @@
         for (File path : paths) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             assertTrue(path.getAbsolutePath().contains(packageName));
 
@@ -65,7 +60,7 @@
             }
 
             // Keep walking up until we leave device
-            while (Environment.MEDIA_MOUNTED.equals(Environment.getStorageState(path))) {
+            while (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState(path))) {
                 assertDirReadOnlyAccess(path);
                 path = path.getParentFile();
             }
@@ -73,19 +68,21 @@
     }
 
     /**
-     * Verify we can read all gifts.
+     * Verify that we don't have write access to any mountpoints.
      */
-    public void doVerifyGifts() throws Exception {
-        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
-        assertFileReadOnlyAccess(none);
-        assertEquals(100, readInt(none));
+    public void testMountPointsNotWritable() throws Exception {
+        final String userId = Integer.toString(android.os.Process.myUid() / 100000);
+        final List<File> mountPaths = getMountPaths();
+        for (File path : mountPaths) {
+            if (path.getAbsolutePath().startsWith("/mnt/")
+                    || path.getAbsolutePath().startsWith("/storage/")) {
+                // Mount points could be multi-user aware, so try probing both
+                // top level and user-specific directory.
+                final File userPath = new File(path, userId);
 
-        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
-        assertFileReadWriteAccess(read);
-        assertEquals(101, readInt(read));
-
-        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
-        assertFileReadOnlyAccess(write);
-        assertEquals(102, readInt(write));
+                assertDirNoWriteAccess(path);
+                assertDirNoWriteAccess(userPath);
+            }
+        }
     }
 }
diff --git a/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadGiftTest.java b/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadGiftTest.java
new file mode 100644
index 0000000..e72be77
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/ReadExternalStorageApp/src/com/android/cts/readexternalstorageapp/ReadGiftTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.readexternalstorageapp;
+
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadOnlyAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
+
+import android.test.AndroidTestCase;
+
+import java.io.File;
+
+public class ReadGiftTest extends AndroidTestCase {
+    /**
+     * Verify we can read all gifts.
+     */
+    public void testGifts() throws Exception {
+        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
+        assertFileReadOnlyAccess(none);
+        assertEquals(100, readInt(none));
+
+        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
+        assertFileReadWriteAccess(read);
+        assertEquals(101, readInt(read));
+
+        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
+        assertFileReadOnlyAccess(write);
+        assertEquals(102, readInt(write));
+    }
+}
diff --git a/hostsidetests/appsecurity/test-apps/SplitApp/src/com/android/cts/splitapp/SplitAppTest.java b/hostsidetests/appsecurity/test-apps/SplitApp/src/com/android/cts/splitapp/SplitAppTest.java
index 3d6cee7..c5f0fd0 100644
--- a/hostsidetests/appsecurity/test-apps/SplitApp/src/com/android/cts/splitapp/SplitAppTest.java
+++ b/hostsidetests/appsecurity/test-apps/SplitApp/src/com/android/cts/splitapp/SplitAppTest.java
@@ -19,6 +19,7 @@
 import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT;
 import static org.xmlpull.v1.XmlPullParser.START_TAG;
 
+import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
@@ -27,9 +28,17 @@
 import android.content.pm.ResolveInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.database.Cursor;
+import android.database.sqlite.SQLiteDatabase;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
 import android.graphics.drawable.Drawable;
+import android.os.Environment;
+import android.os.ParcelFileDescriptor;
+import android.os.StatFs;
+import android.system.Os;
+import android.system.OsConstants;
+import android.system.StructStat;
 import android.test.AndroidTestCase;
 import android.test.MoreAsserts;
 import android.util.DisplayMetrics;
@@ -39,7 +48,12 @@
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.BufferedReader;
+import java.io.DataInputStream;
+import java.io.DataOutputStream;
 import java.io.File;
+import java.io.FileDescriptor;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.lang.reflect.Field;
@@ -51,9 +65,14 @@
     private static final String TAG = "SplitAppTest";
     private static final String PKG = "com.android.cts.splitapp";
 
+    private static final long MB_IN_BYTES = 1 * 1024 * 1024;
+
     public static boolean sFeatureTouched = false;
     public static String sFeatureValue = null;
 
+    public void testNothing() throws Exception {
+    }
+
     public void testSingleBase() throws Exception {
         final Resources r = getContext().getResources();
         final PackageManager pm = getContext().getPackageManager();
@@ -311,6 +330,131 @@
         assertEquals(0, result.size());
     }
 
+    /**
+     * Write app data in a number of locations that expect to remain intact over
+     * long periods of time, such as across app moves.
+     */
+    public void testDataWrite() throws Exception {
+        final String token = String.valueOf(android.os.Process.myUid());
+        writeString(getContext().getFileStreamPath("my_int"), token);
+
+        final SQLiteDatabase db = getContext().openOrCreateDatabase("my_db",
+                Context.MODE_PRIVATE, null);
+        try {
+            db.execSQL("DROP TABLE IF EXISTS my_table");
+            db.execSQL("CREATE TABLE my_table(value INTEGER)");
+            db.execSQL("INSERT INTO my_table VALUES (101), (102), (103)");
+        } finally {
+            db.close();
+        }
+    }
+
+    /**
+     * Verify that data written by {@link #testDataWrite()} is still intact.
+     */
+    public void testDataRead() throws Exception {
+        final String token = String.valueOf(android.os.Process.myUid());
+        assertEquals(token, readString(getContext().getFileStreamPath("my_int")));
+
+        final SQLiteDatabase db = getContext().openOrCreateDatabase("my_db",
+                Context.MODE_PRIVATE, null);
+        try {
+            final Cursor cursor = db.query("my_table", null, null, null, null, null, "value ASC");
+            try {
+                assertEquals(3, cursor.getCount());
+                assertTrue(cursor.moveToPosition(0));
+                assertEquals(101, cursor.getInt(0));
+                assertTrue(cursor.moveToPosition(1));
+                assertEquals(102, cursor.getInt(0));
+                assertTrue(cursor.moveToPosition(2));
+                assertEquals(103, cursor.getInt(0));
+            } finally {
+                cursor.close();
+            }
+        } finally {
+            db.close();
+        }
+    }
+
+    /**
+     * Verify that app is installed on internal storage.
+     */
+    public void testDataInternal() throws Exception {
+        final StructStat internal = Os.stat(Environment.getDataDirectory().getAbsolutePath());
+        final StructStat actual = Os.stat(getContext().getFilesDir().getAbsolutePath());
+        assertEquals(internal.st_dev, actual.st_dev);
+    }
+
+    /**
+     * Verify that app is not installed on internal storage.
+     */
+    public void testDataNotInternal() throws Exception {
+        final StructStat internal = Os.stat(Environment.getDataDirectory().getAbsolutePath());
+        final StructStat actual = Os.stat(getContext().getFilesDir().getAbsolutePath());
+        MoreAsserts.assertNotEqual(internal.st_dev, actual.st_dev);
+    }
+
+    public void testPrimaryDataWrite() throws Exception {
+        final String token = String.valueOf(android.os.Process.myUid());
+        writeString(new File(getContext().getExternalFilesDir(null), "my_ext"), token);
+    }
+
+    public void testPrimaryDataRead() throws Exception {
+        final String token = String.valueOf(android.os.Process.myUid());
+        assertEquals(token, readString(new File(getContext().getExternalFilesDir(null), "my_ext")));
+    }
+
+    /**
+     * Verify shared storage behavior when on internal storage.
+     */
+    public void testPrimaryInternal() throws Exception {
+        assertTrue("emulated", Environment.isExternalStorageEmulated());
+        assertFalse("removable", Environment.isExternalStorageRemovable());
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+    }
+
+    /**
+     * Verify shared storage behavior when on physical storage.
+     */
+    public void testPrimaryPhysical() throws Exception {
+        assertFalse("emulated", Environment.isExternalStorageEmulated());
+        assertTrue("removable", Environment.isExternalStorageRemovable());
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+    }
+
+    /**
+     * Verify shared storage behavior when on adopted storage.
+     */
+    public void testPrimaryAdopted() throws Exception {
+        assertTrue("emulated", Environment.isExternalStorageEmulated());
+        assertTrue("removable", Environment.isExternalStorageRemovable());
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+    }
+
+    /**
+     * Verify that shared storage is unmounted.
+     */
+    public void testPrimaryUnmounted() throws Exception {
+        MoreAsserts.assertNotEqual(Environment.MEDIA_MOUNTED,
+                Environment.getExternalStorageState());
+    }
+
+    /**
+     * Verify that shared storage lives on same volume as app.
+     */
+    public void testPrimaryOnSameVolume() throws Exception {
+        final File current = getContext().getFilesDir();
+        final File primary = Environment.getExternalStorageDirectory();
+
+        // Shared storage may jump through another filesystem for permission
+        // enforcement, so we verify that total/free space are identical.
+        final long totalDelta = Math.abs(current.getTotalSpace() - primary.getTotalSpace());
+        final long freeDelta = Math.abs(current.getFreeSpace() - primary.getFreeSpace());
+        if (totalDelta > MB_IN_BYTES || freeDelta > MB_IN_BYTES) {
+            fail("Expected primary storage to be on same volume as app");
+        }
+    }
+
     public void testCodeCacheWrite() throws Exception {
         assertTrue(new File(getContext().getFilesDir(), "normal.raw").createNewFile());
         assertTrue(new File(getContext().getCodeCacheDir(), "cache.raw").createNewFile());
@@ -390,4 +534,22 @@
             if (in != null) in.close();
         }
     }
+
+    private static void writeString(File file, String value) throws IOException {
+        final DataOutputStream os = new DataOutputStream(new FileOutputStream(file));
+        try {
+            os.writeUTF(value);
+        } finally {
+            os.close();
+        }
+    }
+
+    private static String readString(File file) throws IOException {
+        final DataInputStream is = new DataInputStream(new FileInputStream(file));
+        try {
+            return is.readUTF();
+        } finally {
+            is.close();
+        }
+    }
 }
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionApp/Android.mk b/hostsidetests/appsecurity/test-apps/UsePermissionApp/Android.mk
new file mode 100644
index 0000000..f91d0c4
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionApp/Android.mk
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+LOCAL_SDK_VERSION := current
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-test ctsdeviceutil ctstestrunner ub-uiautomator
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src) \
+    ../ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java
+
+LOCAL_PACKAGE_NAME := CtsUsePermissionApp
+
+LOCAL_CERTIFICATE := cts/hostsidetests/appsecurity/certs/cts-testkey2
+
+LOCAL_PROGUARD_ENABLED := disabled
+LOCAL_DEX_PREOPT := false
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionApp/AndroidManifest.xml b/hostsidetests/appsecurity/test-apps/UsePermissionApp/AndroidManifest.xml
new file mode 100644
index 0000000..253d85d
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionApp/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.android.cts.usepermission">
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <activity android:name=".MyActivity" />
+    </application>
+    <instrumentation
+        android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:targetPackage="com.android.cts.usepermission" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+</manifest>
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/MyActivity.java b/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/MyActivity.java
new file mode 100644
index 0000000..5af3886
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/MyActivity.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.usepermission;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.WindowManager;
+
+import java.util.concurrent.SynchronousQueue;
+import java.util.concurrent.TimeUnit;
+
+public class MyActivity extends Activity {
+    private final SynchronousQueue<Result> mResult = new SynchronousQueue<>();
+
+    public static class Result {
+        public final int requestCode;
+        public final String[] permissions;
+        public final int[] grantResults;
+
+        public Result(int requestCode, String[] permissions, int[] grantResults) {
+            this.requestCode = requestCode;
+            this.permissions = permissions;
+            this.grantResults = grantResults;
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
+                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
+                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, String[] permissions,
+            int[] grantResults) {
+        try {
+            mResult.offer(new Result(requestCode, permissions, grantResults), 5, TimeUnit.SECONDS);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    public Result getResult() {
+        try {
+            return mResult.take();
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/UsePermissionTest.java b/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/UsePermissionTest.java
new file mode 100644
index 0000000..d6e97e0
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionApp/src/com/android/cts/usepermission/UsePermissionTest.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.usepermission;
+
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertMediaNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertMediaReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.logCommand;
+
+import android.content.pm.PackageManager;
+import android.os.Environment;
+import android.support.test.uiautomator.UiDevice;
+import android.support.test.uiautomator.UiObject;
+import android.support.test.uiautomator.UiSelector;
+import android.test.InstrumentationTestCase;
+
+public class UsePermissionTest extends InstrumentationTestCase {
+    private static final String TAG = "UsePermissionTest";
+
+    private UiDevice mDevice;
+    private MyActivity mActivity;
+
+    public void testFail() throws Exception {
+        fail("Expected");
+    }
+
+    public void testKill() throws Exception {
+        android.os.Process.killProcess(android.os.Process.myPid());
+    }
+
+    public void testDefault() throws Exception {
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        // New permission model is denied by default
+        assertEquals(PackageManager.PERMISSION_DENIED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE));
+        assertEquals(PackageManager.PERMISSION_DENIED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE));
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+        assertDirNoAccess(Environment.getExternalStorageDirectory());
+        assertDirReadWriteAccess(getInstrumentation().getContext().getExternalCacheDir());
+        assertMediaNoAccess(getInstrumentation().getContext().getContentResolver());
+    }
+
+    public void testGranted() throws Exception {
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        assertEquals(PackageManager.PERMISSION_GRANTED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE));
+        assertEquals(PackageManager.PERMISSION_GRANTED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE));
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+        assertDirReadWriteAccess(Environment.getExternalStorageDirectory());
+        assertDirReadWriteAccess(getInstrumentation().getContext().getExternalCacheDir());
+        assertMediaReadWriteAccess(getInstrumentation().getContext().getContentResolver());
+    }
+
+    public void testInteractiveGrant() throws Exception {
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        // Start out without permission
+        assertEquals(PackageManager.PERMISSION_DENIED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE));
+        assertEquals(PackageManager.PERMISSION_DENIED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE));
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+        assertDirNoAccess(Environment.getExternalStorageDirectory());
+        assertDirReadWriteAccess(getInstrumentation().getContext().getExternalCacheDir());
+        assertMediaNoAccess(getInstrumentation().getContext().getContentResolver());
+
+        // Go through normal grant flow
+        mDevice = UiDevice.getInstance(getInstrumentation());
+        mActivity = launchActivity(getInstrumentation().getTargetContext().getPackageName(),
+                MyActivity.class, null);
+        mDevice.waitForIdle();
+
+        mActivity.requestPermissions(new String[] {
+                android.Manifest.permission.READ_EXTERNAL_STORAGE,
+                android.Manifest.permission.WRITE_EXTERNAL_STORAGE }, 42);
+        mDevice.waitForIdle();
+
+        new UiObject(new UiSelector()
+                .resourceId("com.android.packageinstaller:id/permission_allow_button")).click();
+        mDevice.waitForIdle();
+
+        MyActivity.Result result = mActivity.getResult();
+        assertEquals(42, result.requestCode);
+        assertEquals(android.Manifest.permission.READ_EXTERNAL_STORAGE, result.permissions[0]);
+        assertEquals(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, result.permissions[1]);
+        assertEquals(PackageManager.PERMISSION_GRANTED, result.grantResults[0]);
+        assertEquals(PackageManager.PERMISSION_GRANTED, result.grantResults[1]);
+
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        // We should have permission now!
+        assertEquals(PackageManager.PERMISSION_GRANTED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE));
+        assertEquals(PackageManager.PERMISSION_GRANTED, getInstrumentation().getContext()
+                .checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE));
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+        assertDirReadWriteAccess(Environment.getExternalStorageDirectory());
+        assertDirReadWriteAccess(getInstrumentation().getContext().getExternalCacheDir());
+        assertMediaReadWriteAccess(getInstrumentation().getContext().getContentResolver());
+
+        mActivity.finish();
+    }
+}
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/Android.mk b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/Android.mk
new file mode 100644
index 0000000..70b4b0f
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/Android.mk
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := tests
+LOCAL_SDK_VERSION := 21
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-test ctsdeviceutil ctstestrunner ub-uiautomator
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src) \
+    ../ExternalStorageApp/src/com/android/cts/externalstorageapp/CommonExternalStorageTest.java
+
+LOCAL_PACKAGE_NAME := CtsUsePermissionAppCompat
+
+LOCAL_CERTIFICATE := cts/hostsidetests/appsecurity/certs/cts-testkey2
+
+LOCAL_PROGUARD_ENABLED := disabled
+LOCAL_DEX_PREOPT := false
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/AndroidManifest.xml b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/AndroidManifest.xml
new file mode 100644
index 0000000..253d85d
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/AndroidManifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="com.android.cts.usepermission">
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <activity android:name=".MyActivity" />
+    </application>
+    <instrumentation
+        android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:targetPackage="com.android.cts.usepermission" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+</manifest>
diff --git a/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/src/com/android/cts/usepermission/UsePermissionCompatTest.java b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/src/com/android/cts/usepermission/UsePermissionCompatTest.java
new file mode 100644
index 0000000..7f21d3400
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/UsePermissionAppCompat/src/com/android/cts/usepermission/UsePermissionCompatTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.usepermission;
+
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertMediaNoAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertMediaReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getAllPackageSpecificPaths;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.logCommand;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.Environment;
+import android.os.Process;
+import android.test.InstrumentationTestCase;
+
+import java.io.File;
+
+public class UsePermissionCompatTest extends InstrumentationTestCase {
+    private static final String TAG = "UsePermissionTest";
+
+    public void testCompatDefault() throws Exception {
+        final Context context = getInstrumentation().getContext();
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        // Legacy permission model is granted by default
+        assertEquals(PackageManager.PERMISSION_GRANTED,
+                context.checkPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE,
+                        Process.myPid(), Process.myUid()));
+        assertEquals(PackageManager.PERMISSION_GRANTED,
+                context.checkPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                        Process.myPid(), Process.myUid()));
+        assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState());
+        assertDirReadWriteAccess(Environment.getExternalStorageDirectory());
+        for (File path : getAllPackageSpecificPaths(context)) {
+            if (path != null) {
+                assertDirReadWriteAccess(path);
+            }
+        }
+        assertMediaReadWriteAccess(getInstrumentation().getContext().getContentResolver());
+    }
+
+    public void testCompatRevoked() throws Exception {
+        final Context context = getInstrumentation().getContext();
+        logCommand("/system/bin/cat", "/proc/self/mountinfo");
+
+        // Legacy permission model appears granted, but storage looks and
+        // behaves like it's ejected
+        assertEquals(PackageManager.PERMISSION_GRANTED,
+                context.checkPermission(android.Manifest.permission.READ_EXTERNAL_STORAGE,
+                        Process.myPid(), Process.myUid()));
+        assertEquals(PackageManager.PERMISSION_GRANTED,
+                context.checkPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
+                        Process.myPid(), Process.myUid()));
+        assertEquals(Environment.MEDIA_UNMOUNTED, Environment.getExternalStorageState());
+        assertDirNoAccess(Environment.getExternalStorageDirectory());
+        for (File dir : getAllPackageSpecificPaths(context)) {
+            if (dir != null) {
+                assertDirNoAccess(dir);
+            }
+        }
+        assertMediaNoAccess(getInstrumentation().getContext().getContentResolver());
+
+        // Just to be sure, poke explicit path
+        assertDirNoAccess(new File(Environment.getExternalStorageDirectory(),
+                "/Android/data/" + getInstrumentation().getContext().getPackageName()));
+    }
+}
diff --git a/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteExternalStorageTest.java b/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteExternalStorageTest.java
index afee8541..5e6aa3e 100644
--- a/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteExternalStorageTest.java
+++ b/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteExternalStorageTest.java
@@ -17,17 +17,14 @@
 package com.android.cts.writeexternalstorageapp;
 
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.TAG;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirNoWriteAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadOnlyAccess;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertDirReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
-import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildProbeFile;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.deleteContents;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getAllPackageSpecificPaths;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getMountPaths;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getPrimaryPackageSpecificPaths;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.getSecondaryPackageSpecificPaths;
 import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
@@ -39,9 +36,7 @@
 
 import com.android.cts.externalstorageapp.CommonExternalStorageTest;
 
-import java.io.BufferedReader;
 import java.io.File;
-import java.io.FileReader;
 import java.util.List;
 import java.util.Random;
 
@@ -142,12 +137,12 @@
         for (File path : paths) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             assertTrue(path.getAbsolutePath().contains(packageName));
 
             // Walk until we leave device, writing the whole way
-            while (Environment.MEDIA_MOUNTED.equals(Environment.getStorageState(path))) {
+            while (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState(path))) {
                 assertDirReadWriteAccess(path);
                 path = path.getParentFile();
             }
@@ -179,7 +174,7 @@
         int depth = 0;
         while (depth++ < 32) {
             assertDirReadWriteAccess(path);
-            assertEquals(Environment.MEDIA_MOUNTED, Environment.getStorageState(path));
+            assertEquals(Environment.MEDIA_MOUNTED, Environment.getExternalStorageState(path));
 
             if (path.getAbsolutePath().equals(top.getAbsolutePath())) {
                 break;
@@ -194,7 +189,7 @@
         // And going one step further should be outside our reach
         path = path.getParentFile();
         assertDirNoWriteAccess(path);
-        assertEquals(Environment.MEDIA_UNKNOWN, Environment.getStorageState(path));
+        assertEquals(Environment.MEDIA_UNKNOWN, Environment.getExternalStorageState(path));
     }
 
     /**
@@ -202,11 +197,11 @@
      */
     public void testMountStatus() {
         assertEquals(Environment.MEDIA_UNKNOWN,
-                Environment.getStorageState(new File("/meow-should-never-exist")));
+                Environment.getExternalStorageState(new File("/meow-should-never-exist")));
 
         // Internal data isn't a mount point
         assertEquals(Environment.MEDIA_UNKNOWN,
-                Environment.getStorageState(getContext().getCacheDir()));
+                Environment.getExternalStorageState(getContext().getCacheDir()));
     }
 
     /**
@@ -220,7 +215,7 @@
         for (File path : paths) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             assertTrue(path.getAbsolutePath().contains(packageName));
 
@@ -231,7 +226,7 @@
             }
 
             // Keep walking up until we leave device
-            while (Environment.MEDIA_MOUNTED.equals(Environment.getStorageState(path))) {
+            while (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState(path))) {
                 assertDirReadOnlyAccess(path);
                 path = path.getParentFile();
             }
@@ -250,12 +245,12 @@
         for (File path : paths) {
             assertNotNull("Valid media must be inserted during CTS", path);
             assertEquals("Valid media must be inserted during CTS", Environment.MEDIA_MOUNTED,
-                    Environment.getStorageState(path));
+                    Environment.getExternalStorageState(path));
 
             final File start = path;
 
             boolean found = false;
-            while (Environment.MEDIA_MOUNTED.equals(Environment.getStorageState(path))) {
+            while (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState(path))) {
                 final File test = new File(path, ".nomedia");
                 if (test.exists()) {
                     found = true;
@@ -277,57 +272,29 @@
      * {@link CommonExternalStorageTest#testAllPackageDirsWritable()}.
      */
     public void testSecondaryMountPointsNotWritable() throws Exception {
+        // Probe path could be /storage/emulated/0 or /storage/1234-5678
         final File probe = buildProbeFile(Environment.getExternalStorageDirectory());
         assertTrue(probe.createNewFile());
 
-        final BufferedReader br = new BufferedReader(new FileReader("/proc/self/mounts"));
-        try {
-            String line;
-            while ((line = br.readLine()) != null) {
-                final String[] fields = line.split(" ");
-                final File testMount = new File(fields[1]);
-                final File testProbe = new File(testMount, probe.getName());
-                if (testProbe.exists()) {
-                    Log.d(TAG, "Primary external mountpoint " + testMount);
-                } else {
-                    // This mountpoint is not primary external storage; we must
-                    // not be able to write.
-                    Log.d(TAG, "Other mountpoint " + testMount);
-                    assertDirNoWriteAccess(testProbe.getParentFile());
-                }
+        final String userId = Integer.toString(android.os.Process.myUid() / 100000);
+        final List<File> mountPaths = getMountPaths();
+        for (File path : mountPaths) {
+            // Mount points could be multi-user aware, so try probing both top
+            // level and user-specific directory.
+            final File userPath = new File(path, userId);
+
+            final File testProbe = new File(path, probe.getName());
+            final File testUserProbe = new File(userPath, probe.getName());
+
+            if (testProbe.exists() || testUserProbe.exists()) {
+                Log.d(TAG, "Primary external mountpoint " + path);
+            } else {
+                // This mountpoint is not primary external storage; we must
+                // not be able to write.
+                Log.d(TAG, "Other mountpoint " + path);
+                assertDirNoWriteAccess(path);
+                assertDirNoWriteAccess(userPath);
             }
-       } finally {
-           br.close();
-           probe.delete();
-       }
-    }
-
-    /**
-     * Leave gifts for other packages in their primary external cache dirs.
-     */
-    public void doWriteGifts() throws Exception {
-        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
-        none.getParentFile().mkdirs();
-        none.createNewFile();
-        assertFileReadWriteAccess(none);
-
-        writeInt(none, 100);
-        assertEquals(100, readInt(none));
-
-        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
-        read.getParentFile().mkdirs();
-        read.createNewFile();
-        assertFileReadWriteAccess(read);
-
-        writeInt(read, 101);
-        assertEquals(101, readInt(read));
-
-        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
-        write.getParentFile().mkdirs();
-        write.createNewFile();
-        assertFileReadWriteAccess(write);
-
-        writeInt(write, 102);
-        assertEquals(102, readInt(write));
+        }
     }
 }
diff --git a/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteGiftTest.java b/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteGiftTest.java
new file mode 100644
index 0000000..5da42da
--- /dev/null
+++ b/hostsidetests/appsecurity/test-apps/WriteExternalStorageApp/src/com/android/cts/writeexternalstorageapp/WriteGiftTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.writeexternalstorageapp;
+
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_NONE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_READ;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.PACKAGE_WRITE;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.assertFileReadWriteAccess;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.buildGiftForPackage;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.readInt;
+import static com.android.cts.externalstorageapp.CommonExternalStorageTest.writeInt;
+
+import android.test.AndroidTestCase;
+
+import java.io.File;
+
+public class WriteGiftTest extends AndroidTestCase {
+    /**
+     * Leave gifts for other packages in their primary external cache dirs.
+     */
+    public void testGifts() throws Exception {
+        final File none = buildGiftForPackage(getContext(), PACKAGE_NONE);
+        none.getParentFile().mkdirs();
+        none.createNewFile();
+        assertFileReadWriteAccess(none);
+
+        writeInt(none, 100);
+        assertEquals(100, readInt(none));
+
+        final File read = buildGiftForPackage(getContext(), PACKAGE_READ);
+        read.getParentFile().mkdirs();
+        read.createNewFile();
+        assertFileReadWriteAccess(read);
+
+        writeInt(read, 101);
+        assertEquals(101, readInt(read));
+
+        final File write = buildGiftForPackage(getContext(), PACKAGE_WRITE);
+        write.getParentFile().mkdirs();
+        write.createNewFile();
+        assertFileReadWriteAccess(write);
+
+        writeInt(write, 102);
+        assertEquals(102, readInt(write));
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/Android.mk b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/Android.mk
new file mode 100644
index 0000000..0548af6
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_PACKAGE_NAME := CtsDeviceAndProfileOwnerApp
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_JAVA_LIBRARIES := android.test.runner cts-junit
+
+LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4 ctstestrunner ub-uiautomator
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_PACKAGE)
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/AndroidManifest.xml b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/AndroidManifest.xml
new file mode 100644
index 0000000..ed920e9
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/AndroidManifest.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.cts.deviceandprofileowner">
+
+    <uses-sdk android:minSdkVersion="23"/>
+    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
+    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <receiver
+            android:name="com.android.cts.deviceandprofileowner.BaseDeviceAdminTest$BasicAdminReceiver"
+            android:permission="android.permission.BIND_DEVICE_ADMIN">
+            <meta-data android:name="android.app.device_admin"
+                       android:resource="@xml/device_admin" />
+            <intent-filter>
+                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
+            </intent-filter>
+        </receiver>
+        <activity
+            android:name="com.android.cts.deviceandprofileowner.ApplicationRestrictionsActivity" />
+        <activity
+            android:name="com.android.cts.deviceandprofileowner.ScreenCaptureDisabledActivity" />
+        <activity
+            android:name="com.android.cts.deviceandprofileowner.ExampleIntentReceivingActivity1">
+            <intent-filter>
+                <action android:name="com.android.cts.deviceandprofileowner.EXAMPLE_ACTION" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <activity
+            android:name="com.android.cts.deviceandprofileowner.ExampleIntentReceivingActivity2">
+            <intent-filter>
+                <action android:name="com.android.cts.deviceandprofileowner.EXAMPLE_ACTION" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
+        <service android:name=".MockAccountService" android:exported="true">
+            <intent-filter>
+                <action android:name="android.accounts.AccountAuthenticator" />
+            </intent-filter>
+
+            <meta-data android:name="android.accounts.AccountAuthenticator"
+                       android:resource="@xml/authenticator" />
+        </service>
+
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="com.android.cts.deviceandprofileowner"
+                     android:label="Profile and Device Owner CTS Tests"/>
+</manifest>
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/values/strings.xml b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/values/strings.xml
new file mode 100644
index 0000000..4aca824
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/values/strings.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Label for this package -->
+    <string name="authenticator_label">Android CTS - Device and Profile Owner</string>
+</resources>
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/authenticator.xml b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/authenticator.xml
new file mode 100644
index 0000000..0d8ecd8
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/authenticator.xml
@@ -0,0 +1,22 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- The attributes in this XML file provide configuration information -->
+<!-- for the Account Manager. -->
+
+<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
+    android:accountType="com.android.cts.deviceandprofileowner.account.type"
+    android:label="@string/authenticator_label"
+/>
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/device_admin.xml b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/device_admin.xml
new file mode 100644
index 0000000..69a661c
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/res/xml/device_admin.xml
@@ -0,0 +1,18 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<device-admin xmlns:android="http://schemas.android.com/apk/res/android" android:visible="false">
+    <uses-policies>
+    </uses-policies>
+</device-admin>
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/AccountManagementTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/AccountManagementTest.java
new file mode 100644
index 0000000..c40539b8
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/AccountManagementTest.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.deviceandprofileowner;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerFuture;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.Bundle;
+
+import java.io.IOException;
+
+/**
+ * Functionality tests for {@link DevicePolicyManager#setAccountManagementDisabled}
+ *
+ * Fire up a remote unprivileged service and attempt to add/remove/list
+ * accounts from it to verify the enforcement is in place.
+ *
+ * This test depend on MockAccountService, which provides authenticator of type
+ * {@code com.android.cts.deviceandprofileowner.account.type}
+ */
+public class AccountManagementTest extends BaseDeviceAdminTest {
+
+    // Account type for MockAccountAuthenticator
+    private final static String ACCOUNT_TYPE_1 =
+            "com.android.cts.deviceandprofileowner.account.type";
+    private final static String ACCOUNT_TYPE_2 = "com.dummy.account";
+    private final static Account ACCOUNT_0 = new Account("user0", ACCOUNT_TYPE_1);
+    private final static Account ACCOUNT_1 = new Account("user1", ACCOUNT_TYPE_1);
+
+    private AccountManager mAccountManager;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mAccountManager = (AccountManager) mContext.getSystemService(Context.ACCOUNT_SERVICE);
+        clearAllAccountManagementDisabled();
+        removeAllAccounts();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        clearAllAccountManagementDisabled();
+        removeAllAccounts();
+        super.tearDown();
+    }
+
+    public void testAccountManagementDisabled_setterAndGetter() {
+        // Some local tests: adding and removing disabled accounts and make sure
+        // DevicePolicyManager keeps track of the disabled set correctly
+        assertEquals(0, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                true);
+        assertEquals(1, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+        assertEquals(ACCOUNT_TYPE_1,
+                mDevicePolicyManager.getAccountTypesWithManagementDisabled()[0]);
+
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                false);
+        assertEquals(0, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+    }
+
+    public void testAccountManagementDisabled_addAccount() throws AuthenticatorException,
+            IOException, OperationCanceledException {
+        // Test for restriction on addAccount()
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                true);
+        // Test if disabling ACCOUNT_TYPE_2 affects ACCOUNT_TYPE_1
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_2,
+                false);
+        assertEquals(1, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+
+        assertEquals(0, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+        // Management is disabled, adding account should fail.
+        try {
+            mAccountManager.addAccount(ACCOUNT_TYPE_1, null, null, null, null, null, null)
+                    .getResult();
+            fail("Expected OperationCanceledException is not thrown.");
+        } catch (OperationCanceledException e) {
+            // Expected
+        }
+        assertEquals(0, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+
+        // Management is re-enabled, adding account should succeed.
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                false);
+        assertEquals(0, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+        Bundle result = mAccountManager.addAccount(ACCOUNT_TYPE_1,
+                null, null, null, null, null, null).getResult();
+
+        // Normally the expected result of addAccount() is AccountManager returning
+        // an intent to start the authenticator activity for adding new accounts.
+        // But MockAccountAuthenticator returns a new account straightway.
+        assertEquals(ACCOUNT_TYPE_1, result.getString(AccountManager.KEY_ACCOUNT_TYPE));
+    }
+
+    public void testAccountManagementDisabled_removeAccount() throws AuthenticatorException,
+            IOException, OperationCanceledException {
+        // Test for restriction on removeAccount()
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                true);
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_2,
+                false);
+        assertEquals(1, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+
+        assertEquals(0, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+        // First prepare some accounts by manually adding them,
+        // setAccountManagementDisabled(true) should not stop addAccountExplicitly().
+        assertTrue(mAccountManager.addAccountExplicitly(ACCOUNT_0, "password", null));
+        assertTrue(mAccountManager.addAccountExplicitly(ACCOUNT_1, "password", null));
+        assertEquals(2, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+
+        // Removing account should fail, as we just disabled it.
+        try {
+            mAccountManager.removeAccount(ACCOUNT_0, null, null).getResult();
+            fail("Expected OperationCanceledException is not thrown.");
+        } catch (OperationCanceledException e) {
+            // Expected
+        }
+        assertEquals(2, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+
+        // Re-enable management, so we can successfully remove account this time.
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_1,
+                false);
+        assertEquals(0, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+        assertTrue(mAccountManager.removeAccount(ACCOUNT_0, null, null).getResult());
+
+        // Make sure the removal actually succeeds.
+        Account[] accounts = mAccountManager.getAccountsByType(ACCOUNT_TYPE_1);
+        assertEquals(1, accounts.length);
+        assertEquals(ACCOUNT_1, accounts[0]);
+
+        // Disable account type 2, we should still be able to remove from type 1.
+        mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, ACCOUNT_TYPE_2,
+                true);
+        assertEquals(1, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+        assertTrue(mAccountManager.removeAccount(ACCOUNT_1, null, null).getResult());
+
+        // Make sure the removal actually succeeds.
+        assertEquals(0, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+    }
+
+    private void clearAllAccountManagementDisabled() {
+        for (String accountType : mDevicePolicyManager.getAccountTypesWithManagementDisabled()) {
+            mDevicePolicyManager.setAccountManagementDisabled(ADMIN_RECEIVER_COMPONENT, accountType,
+                    false);
+        }
+        assertEquals(0, mDevicePolicyManager.getAccountTypesWithManagementDisabled().length);
+    }
+
+    private void removeAllAccounts() throws OperationCanceledException, AuthenticatorException,
+            IOException {
+        for (Account account : mAccountManager.getAccountsByType(ACCOUNT_TYPE_1)) {
+            AccountManagerFuture<Boolean> result = mAccountManager.removeAccount(account, null,
+                    null);
+            assertTrue(result.getResult());
+        }
+        assertEquals(0, mAccountManager.getAccountsByType(ACCOUNT_TYPE_1).length);
+    }
+
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationHiddenTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationHiddenTest.java
new file mode 100644
index 0000000..d8be42f
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationHiddenTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceandprofileowner;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.net.Uri;
+import android.util.Log;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Tests for {@link DevicePolicyManager#setApplicationHidden} and
+ * {@link DevicePolicyManager#isApplicationHidden} APIs.
+ */
+public class ApplicationHiddenTest extends BaseDeviceAdminTest {
+
+    private static final String TAG = "ApplicationHiddenTest";
+
+    private static final String PACKAGE_TO_HIDE = "com.android.cts.permissionapp";
+    private static final String NONEXISTING_PACKAGE_NAME = "a.b.c.d";
+
+    private static final IntentFilter PACKAGE_INTENT_FILTER;
+    static {
+        PACKAGE_INTENT_FILTER = new IntentFilter();
+        PACKAGE_INTENT_FILTER.addAction(Intent.ACTION_PACKAGE_ADDED);
+        PACKAGE_INTENT_FILTER.addAction(Intent.ACTION_PACKAGE_REMOVED);
+        PACKAGE_INTENT_FILTER.addDataScheme("package");
+    }
+    private final ApplicationHiddenReceiver mReceiver = new ApplicationHiddenReceiver();
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext.registerReceiver(mReceiver, PACKAGE_INTENT_FILTER);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mReceiver);
+        mDevicePolicyManager.setApplicationHidden(ADMIN_RECEIVER_COMPONENT, PACKAGE_TO_HIDE, false);
+        super.tearDown();
+    }
+
+    public void testSetApplicationHidden() throws Exception {
+        assertTrue(mDevicePolicyManager.setApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_TO_HIDE, true));
+        assertTrue(mDevicePolicyManager.isApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_TO_HIDE));
+        mReceiver.waitForRemovedBroadcast();
+        assertTrue(mDevicePolicyManager.setApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_TO_HIDE, false));
+        assertFalse(mDevicePolicyManager.isApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_TO_HIDE));
+        mReceiver.waitForAddedBroadcast();
+    }
+
+    public void testCannotHideActiveAdmin() throws Exception {
+        assertFalse(mDevicePolicyManager.setApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_NAME, true));
+    }
+
+    public void testCannotHideNonExistingPackage() throws Exception {
+        assertFalse(mDevicePolicyManager.setApplicationHidden(ADMIN_RECEIVER_COMPONENT,
+                NONEXISTING_PACKAGE_NAME, true));
+    }
+
+    private class ApplicationHiddenReceiver extends BroadcastReceiver {
+        private final Semaphore mAddedSemaphore = new Semaphore(0);
+        private final Semaphore mRemovedSemaphore = new Semaphore(0);
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Uri uri = intent.getData();
+            if (uri == null) {
+                return;
+            }
+            String pkgName = uri.getSchemeSpecificPart();
+            if (!PACKAGE_TO_HIDE.equals(pkgName)) {
+                return;
+            }
+            if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) {
+                Log.d(TAG, "Received PACKAGE_ADDED broadcast");
+                mAddedSemaphore.release();
+            } else if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) {
+                Log.d(TAG, "Received PACKAGE_REMOVED broadcast");
+                mRemovedSemaphore.release();
+            }
+        }
+
+        public void waitForAddedBroadcast() throws Exception {
+            if (!mAddedSemaphore.tryAcquire(60, TimeUnit.SECONDS)) {
+                fail("Did not receive PACKAGE_ADDED broadcast.");
+            }
+        }
+
+        public void waitForRemovedBroadcast() throws Exception {
+            if (!mRemovedSemaphore.tryAcquire(60, TimeUnit.SECONDS)) {
+                fail("Did not receive PACKAGE_REMOVED broadcast.");
+            }
+        }
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionActivity.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsActivity.java
similarity index 90%
rename from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionActivity.java
rename to hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsActivity.java
index 4d8e4f2..ccf8222 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionActivity.java
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsActivity.java
@@ -13,8 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
-package com.android.cts.deviceowner;
+package com.android.cts.deviceandprofileowner;
 
 import android.app.Activity;
 import android.content.BroadcastReceiver;
@@ -31,16 +30,16 @@
  * activity is to listen for the ACTION_APPLICATION_RESTRICTIONS_CHANGED broadcast
  * and relay the retrieved restriction bundle back to the test for validation.
  */
-public class ApplicationRestrictionActivity extends Activity {
+public class ApplicationRestrictionsActivity extends Activity {
 
     // Incoming intent type
     public static final String FINISH = "finishActivity";
 
     // Outgoing broadcast
     public static final String REGISTERED_ACTION =
-            "com.android.cts.deviceowner.APP_RESTRICTION_REGISTERED";
+            "com.android.cts.deviceandprofileowner.APP_RESTRICTION_REGISTERED";
     public static final String RESTRICTION_ACTION =
-            "com.android.cts.deviceowner.APP_RESTRICTION_VALUE";
+            "com.android.cts.deviceandprofileowner.APP_RESTRICTION_VALUE";
 
     private UserManager mUserManager;
 
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionsTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsTest.java
similarity index 83%
rename from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionsTest.java
rename to hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsTest.java
index 13a2a6d..98ae202 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ApplicationRestrictionsTest.java
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ApplicationRestrictionsTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.cts.deviceowner;
+package com.android.cts.deviceandprofileowner;
 
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -38,7 +38,7 @@
  * which is fired by the system whenever its restriction is modified,
  * and relays the value back to this test for verification.
  */
-public class ApplicationRestrictionsTest extends BaseDeviceOwnerTest {
+public class ApplicationRestrictionsTest extends BaseDeviceAdminTest {
 
     private static final String[] testStrings = new String[] {
             "<bad/>",
@@ -55,8 +55,8 @@
     protected void setUp() throws Exception {
         super.setUp();
         IntentFilter filter = new IntentFilter();
-        filter.addAction(ApplicationRestrictionActivity.REGISTERED_ACTION);
-        filter.addAction(ApplicationRestrictionActivity.RESTRICTION_ACTION);
+        filter.addAction(ApplicationRestrictionsActivity.REGISTERED_ACTION);
+        filter.addAction(ApplicationRestrictionsActivity.RESTRICTION_ACTION);
         mContext.registerReceiver(mReceiver, filter);
     }
 
@@ -76,30 +76,38 @@
         Bundle bundle1 = createBundle1();
 
         // Test setting restrictions
-        mDevicePolicyManager.setApplicationRestrictions(getWho(), CTS_PACKAGE, bundle0);
-        mDevicePolicyManager.setApplicationRestrictions(getWho(), OTHER_PACKAGE, bundle1);
+        mDevicePolicyManager.setApplicationRestrictions(ADMIN_RECEIVER_COMPONENT, CTS_PACKAGE,
+                bundle0);
+        mDevicePolicyManager.setApplicationRestrictions(ADMIN_RECEIVER_COMPONENT, OTHER_PACKAGE,
+                bundle1);
 
         // Retrieve restrictions locally and make sure they are what we put in.
-        assertBundle0(mDevicePolicyManager.getApplicationRestrictions(getWho(), CTS_PACKAGE));
-        assertBundle1(mDevicePolicyManager.getApplicationRestrictions(getWho(), OTHER_PACKAGE));
+        assertBundle0(mDevicePolicyManager.getApplicationRestrictions(ADMIN_RECEIVER_COMPONENT,
+                CTS_PACKAGE));
+        assertBundle1(mDevicePolicyManager.getApplicationRestrictions(ADMIN_RECEIVER_COMPONENT,
+                OTHER_PACKAGE));
 
         // The test activity should have received a change_restriction broadcast
         // and relay the value back to us.
         assertBundle0(waitForChangedRestriction());
 
         // Test overwriting
-        mDevicePolicyManager.setApplicationRestrictions(getWho(), CTS_PACKAGE, bundle1);
-        assertBundle1(mDevicePolicyManager.getApplicationRestrictions(getWho(), CTS_PACKAGE));
+        mDevicePolicyManager.setApplicationRestrictions(ADMIN_RECEIVER_COMPONENT, CTS_PACKAGE,
+                bundle1);
+        assertBundle1(mDevicePolicyManager.getApplicationRestrictions(ADMIN_RECEIVER_COMPONENT,
+                CTS_PACKAGE));
         assertBundle1(waitForChangedRestriction());
 
         // Cleanup
-        mDevicePolicyManager.setApplicationRestrictions(getWho(), CTS_PACKAGE, new Bundle());
-        assertTrue(
-                mDevicePolicyManager.getApplicationRestrictions(getWho(), CTS_PACKAGE).isEmpty());
+        mDevicePolicyManager.setApplicationRestrictions(ADMIN_RECEIVER_COMPONENT, CTS_PACKAGE,
+                new Bundle());
+        assertTrue(mDevicePolicyManager.getApplicationRestrictions(
+                ADMIN_RECEIVER_COMPONENT, CTS_PACKAGE).isEmpty());
         assertTrue(waitForChangedRestriction().isEmpty());
-        mDevicePolicyManager.setApplicationRestrictions(getWho(), OTHER_PACKAGE, new Bundle());
-        assertTrue(
-                mDevicePolicyManager.getApplicationRestrictions(getWho(), OTHER_PACKAGE).isEmpty());
+        mDevicePolicyManager.setApplicationRestrictions(ADMIN_RECEIVER_COMPONENT, OTHER_PACKAGE,
+                new Bundle());
+        assertTrue(mDevicePolicyManager.getApplicationRestrictions(
+                ADMIN_RECEIVER_COMPONENT, OTHER_PACKAGE).isEmpty());
 
         finish();
     }
@@ -185,9 +193,9 @@
         @Override
         public void onReceive(Context context, Intent intent) {
             String action = intent.getAction();
-            if (ApplicationRestrictionActivity.REGISTERED_ACTION.equals(action)) {
+            if (ApplicationRestrictionsActivity.REGISTERED_ACTION.equals(action)) {
                 mOnRegisteredSemaphore.release();
-            } else if (ApplicationRestrictionActivity.RESTRICTION_ACTION.equals(action)) {
+            } else if (ApplicationRestrictionsActivity.RESTRICTION_ACTION.equals(action)) {
                 mReceivedRestrictions = intent.getBundleExtra("value");
                 mOnRestrictionSemaphore.release();
             }
@@ -196,7 +204,7 @@
 
     private void startTestActivity(String command) {
         Intent intent = new Intent();
-        intent.setClassName(PACKAGE_NAME, ApplicationRestrictionActivity.class.getName());
+        intent.setClassName(PACKAGE_NAME, ApplicationRestrictionsActivity.class.getName());
         intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
 
         if (command != null) {
@@ -227,7 +235,7 @@
     }
 
     private void finish() {
-        startTestActivity(ApplicationRestrictionActivity.FINISH);
+        startTestActivity(ApplicationRestrictionsActivity.FINISH);
     }
 
 }
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/BaseDeviceAdminTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/BaseDeviceAdminTest.java
new file mode 100644
index 0000000..148d8a8
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/BaseDeviceAdminTest.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceandprofileowner;
+
+import android.app.admin.DeviceAdminReceiver;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.test.InstrumentationTestCase;
+
+/**
+ * Base class for profile and device based tests.
+ *
+ * This class handles making sure that the test is the profile or device owner and that it has an
+ * active admin registered, so that all tests may assume these are done.
+ */
+public class BaseDeviceAdminTest extends InstrumentationTestCase {
+
+    public static class BasicAdminReceiver extends DeviceAdminReceiver {
+    }
+
+    public static final String PACKAGE_NAME = BasicAdminReceiver.class.getPackage().getName();
+    public static final ComponentName ADMIN_RECEIVER_COMPONENT = new ComponentName(
+            PACKAGE_NAME, BasicAdminReceiver.class.getName());
+
+    protected DevicePolicyManager mDevicePolicyManager;
+    protected Context mContext;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getContext();
+
+        mDevicePolicyManager = (DevicePolicyManager)
+            mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        assertNotNull(mDevicePolicyManager);
+
+        assertTrue(mDevicePolicyManager.isAdminActive(ADMIN_RECEIVER_COMPONENT));
+        assertTrue("App is neither device nor profile owner",
+                mDevicePolicyManager.isProfileOwnerApp(PACKAGE_NAME) ||
+                mDevicePolicyManager.isDeviceOwnerApp(PACKAGE_NAME));
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ClearDeviceOwnerTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ClearDeviceOwnerTest.java
new file mode 100644
index 0000000..eefe781
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ClearDeviceOwnerTest.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.deviceandprofileowner;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
+import android.content.Context;
+import android.test.AndroidTestCase;
+
+public class ClearDeviceOwnerTest extends BaseDeviceAdminTest {
+
+    private DevicePolicyManager mDevicePolicyManager;
+
+    @Override
+    protected void tearDown() throws Exception {
+        mDevicePolicyManager = (DevicePolicyManager)
+                mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        if (mDevicePolicyManager != null) {
+            removeActiveAdmin(ADMIN_RECEIVER_COMPONENT);
+            if (mDevicePolicyManager.isDeviceOwnerApp(PACKAGE_NAME)) {
+                mDevicePolicyManager.clearDeviceOwnerApp(PACKAGE_NAME);
+            }
+            assertFalse(mDevicePolicyManager.isAdminActive(ADMIN_RECEIVER_COMPONENT));
+            assertFalse(mDevicePolicyManager.isDeviceOwnerApp(PACKAGE_NAME));
+        }
+
+        super.tearDown();
+    }
+
+    // This test clears the device owner and active admin on tearDown(). To be called from the host
+    // side test once a test case is finished.
+    public void testClearDeviceOwner() {
+    }
+
+    private void removeActiveAdmin(ComponentName cn) throws InterruptedException {
+        if (mDevicePolicyManager.isAdminActive(cn)) {
+            mDevicePolicyManager.removeActiveAdmin(cn);
+            for (int i = 0; i < 1000 && mDevicePolicyManager.isAdminActive(cn); i++) {
+                Thread.sleep(100);
+            }
+        }
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity1.java
similarity index 88%
rename from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java
rename to hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity1.java
index 03ca9a4..bbcc3b1 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity1.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.cts.deviceowner;
+package com.android.cts.deviceandprofileowner;
 
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 
 public class ExampleIntentReceivingActivity1 extends Activity {
-    public static final String CONFIRM_ACTION = "com.android.cts.deviceowner.CONFIRM_1";
+    static final String CONFIRM_ACTION = "com.android.cts.deviceandprofileowner.CONFIRM_1";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity2.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity2.java
similarity index 88%
rename from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity2.java
rename to hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity2.java
index 65ccb36..5122b06 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity2.java
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ExampleIntentReceivingActivity2.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.cts.deviceowner;
+package com.android.cts.deviceandprofileowner;
 
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
 
 public class ExampleIntentReceivingActivity2 extends Activity {
-    public static final String CONFIRM_ACTION = "com.android.cts.deviceowner.CONFIRM_2";
+    static final String CONFIRM_ACTION = "com.android.cts.deviceandprofileowner.CONFIRM_2";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountAuthenticator.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountAuthenticator.java
new file mode 100644
index 0000000..161410f
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountAuthenticator.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.deviceandprofileowner;
+
+import android.accounts.AbstractAccountAuthenticator;
+import android.accounts.Account;
+import android.accounts.AccountAuthenticatorResponse;
+import android.accounts.AccountManager;
+import android.accounts.NetworkErrorException;
+import android.content.Context;
+import android.os.Bundle;
+
+/* package */ class MockAccountAuthenticator extends AbstractAccountAuthenticator {
+    private static MockAccountAuthenticator sMockAuthenticator = null;
+    private static final String ACCOUNT_NAME = "com.android.cts.deviceandprofileowner.account.name";
+    private static final String ACCOUNT_TYPE = "com.android.cts.deviceandprofileowner.account.type";
+    private static final String AUTH_TOKEN = "mockAuthToken";
+    private static final String AUTH_TOKEN_LABEL = "mockAuthTokenLabel";
+
+    private MockAccountAuthenticator(Context context) {
+        super(context);
+    }
+
+    private Bundle createResultBundle() {
+        Bundle result = new Bundle();
+        result.putString(AccountManager.KEY_ACCOUNT_NAME, ACCOUNT_NAME);
+        result.putString(AccountManager.KEY_ACCOUNT_TYPE, ACCOUNT_TYPE);
+        result.putString(AccountManager.KEY_AUTHTOKEN, AUTH_TOKEN);
+
+        return result;
+    }
+
+    @Override
+    public Bundle addAccount(AccountAuthenticatorResponse response, String accountType,
+            String authTokenType, String[] requiredFeatures, Bundle options)
+            throws NetworkErrorException {
+        return createResultBundle();
+    }
+
+    @Override
+    public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
+        return createResultBundle();
+    }
+
+    @Override
+    public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account,
+            String authTokenType, Bundle options) throws NetworkErrorException {
+        return createResultBundle();
+    }
+
+    @Override
+    public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account,
+            Bundle options) throws NetworkErrorException {
+
+        Bundle result = new Bundle();
+        result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+        return result;
+    }
+
+    @Override
+    public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account,
+            String authTokenType, Bundle options) throws NetworkErrorException {
+        return createResultBundle();
+    }
+
+    @Override
+    public String getAuthTokenLabel(String authTokenType) {
+        return AUTH_TOKEN_LABEL;
+    }
+
+    @Override
+    public Bundle hasFeatures(AccountAuthenticatorResponse response, Account account,
+            String[] features) throws NetworkErrorException {
+
+        Bundle result = new Bundle();
+        result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+        return result;
+    }
+
+    public static synchronized MockAccountAuthenticator getMockAuthenticator(Context context) {
+        if (null == sMockAuthenticator) {
+            sMockAuthenticator = new MockAccountAuthenticator(context);
+        }
+        return sMockAuthenticator;
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountService.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountService.java
new file mode 100644
index 0000000..dfedccb
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/MockAccountService.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.deviceandprofileowner;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * a basic Mock Service for wrapping the MockAccountAuthenticator
+ */
+public class MockAccountService extends Service {
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        return MockAccountAuthenticator.getMockAuthenticator(this).getIBinder();
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PermissionsTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PermissionsTest.java
new file mode 100644
index 0000000..d181ad5
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PermissionsTest.java
@@ -0,0 +1,320 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceandprofileowner;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.os.UserManager;
+import android.support.test.uiautomator.By;
+import android.support.test.uiautomator.BySelector;
+import android.support.test.uiautomator.UiDevice;
+import android.support.test.uiautomator.UiObject2;
+import android.support.test.uiautomator.UiWatcher;
+import android.support.test.uiautomator.Until;
+import android.util.Log;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Test Runtime Permissions APIs in DevicePolicyManager.
+ */
+public class PermissionsTest extends BaseDeviceAdminTest {
+    private static final String TAG = "PermissionsTest";
+
+    private static final String PERMISSION_APP_PACKAGE_NAME
+            = "com.android.cts.permissionapp";
+    private static final String SIMPLE_PRE_M_APP_PACKAGE_NAME =
+            "com.android.cts.launcherapps.simplepremapp";
+    private static final String PERMISSION_NAME = "android.permission.READ_CONTACTS";
+
+    private static final String PERMISSIONS_ACTIVITY_NAME
+            = PERMISSION_APP_PACKAGE_NAME + ".PermissionActivity";
+    private static final String ACTION_CHECK_HAS_PERMISSION
+            = "com.android.cts.permission.action.CHECK_HAS_PERMISSION";
+    private static final String ACTION_REQUEST_PERMISSION
+            = "com.android.cts.permission.action.REQUEST_PERMISSION";
+    private static final String ACTION_PERMISSION_RESULT
+            = "com.android.cts.permission.action.PERMISSION_RESULT";
+    private static final String EXTRA_PERMISSION
+            = "com.android.cts.permission.extra.PERMISSION";
+    private static final String EXTRA_GRANT_STATE
+            = "com.android.cts.permission.extra.GRANT_STATE";
+    private static final int PERMISSION_ERROR = -2;
+    private static final BySelector CRASH_POPUP_BUTTON_SELECTOR = By
+            .clazz(android.widget.Button.class.getName())
+            .text("OK")
+            .pkg("android");
+    private static final BySelector CRASH_POPUP_TEXT_SELECTOR = By
+            .clazz(android.widget.TextView.class.getName())
+            .pkg("android");
+    private static final String CRASH_WATCHER_ID = "CRASH";
+
+    private PermissionBroadcastReceiver mReceiver;
+    private PackageManager mPackageManager;
+    private UiDevice mDevice;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mReceiver = new PermissionBroadcastReceiver();
+        mContext.registerReceiver(mReceiver, new IntentFilter(ACTION_PERMISSION_RESULT));
+        mPackageManager = mContext.getPackageManager();
+        mDevice = UiDevice.getInstance(getInstrumentation());
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mReceiver);
+        mDevice.removeWatcher(CRASH_WATCHER_ID);
+        super.tearDown();
+    }
+
+    public void testPermissionGrantState() throws Exception {
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
+        assertPermissionGrantState(PackageManager.PERMISSION_DENIED);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        // Should stay denied
+        assertPermissionGrantState(PackageManager.PERMISSION_DENIED);
+
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
+        assertPermissionGrantState(PackageManager.PERMISSION_GRANTED);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        // Should stay granted
+        assertPermissionGrantState(PackageManager.PERMISSION_GRANTED);
+    }
+
+    public void testPermissionPolicy() throws Exception {
+        // reset permission to denied and unlocked
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+        // permission should be locked, so changing the policy should not change the grant state
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+
+        // reset permission to denied and unlocked
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+        // permission should be locked, so changing the policy should not change the grant state
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+    }
+
+    public void testPermissionMixedPolicies() throws Exception {
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+    }
+
+    public void testPermissionPrompts() throws Exception {
+        // register a crash watcher
+        mDevice.registerWatcher(CRASH_WATCHER_ID, new UiWatcher() {
+            @Override
+            public boolean checkForCondition() {
+                UiObject2 button = mDevice.findObject(CRASH_POPUP_BUTTON_SELECTOR);
+                if (button != null) {
+                    UiObject2 text = mDevice.findObject(CRASH_POPUP_TEXT_SELECTOR);
+                    Log.d(TAG, "Removing an error dialog: " + text != null ? text.getText() : null);
+                    button.click();
+                    return true;
+                }
+                return false;
+            }
+        });
+        mDevice.runWatchers();
+
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_PROMPT);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED, "permission_deny_button");
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED, "permission_allow_button");
+    }
+
+    public void testPermissionUpdate_setDeniedState() throws Exception {
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME),
+                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
+    }
+
+    public void testPermissionUpdate_setAutoDeniedPolicy() throws Exception {
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME),
+                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+    }
+
+    public void testPermissionUpdate_checkDenied() throws Exception {
+        assertPermissionRequest(PackageManager.PERMISSION_DENIED);
+        assertPermissionGrantState(PackageManager.PERMISSION_DENIED);
+    }
+
+    public void testPermissionUpdate_setGrantedState() throws Exception {
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME),
+                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        assertSetPermissionGrantState(DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
+    }
+
+    public void testPermissionUpdate_setAutoGrantedPolicy() throws Exception {
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME),
+                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        assertSetPermissionPolicy(DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+    }
+
+    public void testPermissionUpdate_checkGranted() throws Exception {
+        assertPermissionRequest(PackageManager.PERMISSION_GRANTED);
+        assertPermissionGrantState(PackageManager.PERMISSION_GRANTED);
+    }
+
+    public void testPermissionGrantStatePreMApp() throws Exception {
+        // These tests are to make sure that pre-M apps are not granted runtime permissions
+        // by a profile owner
+        assertSetPermissionGrantStatePreMApp(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
+        assertSetPermissionGrantStatePreMApp(DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
+    }
+
+    private void assertPermissionRequest(int expected) throws Exception {
+        assertPermissionRequest(expected, null);
+    }
+
+    private void assertPermissionRequest(int expected, String buttonResource) throws Exception {
+        Intent launchIntent = new Intent();
+        launchIntent.setComponent(new ComponentName(PERMISSION_APP_PACKAGE_NAME,
+                PERMISSIONS_ACTIVITY_NAME));
+        launchIntent.putExtra(EXTRA_PERMISSION, PERMISSION_NAME);
+        launchIntent.setAction(ACTION_REQUEST_PERMISSION);
+        launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+        mContext.startActivity(launchIntent);
+        pressPermissionPromptButton(buttonResource);
+        assertEquals(expected, mReceiver.waitForBroadcast());
+        assertEquals(expected, mPackageManager.checkPermission(PERMISSION_NAME,
+                PERMISSION_APP_PACKAGE_NAME));
+    }
+
+    private void assertPermissionGrantState(int expected) throws Exception {
+        assertEquals(expected, mPackageManager.checkPermission(PERMISSION_NAME,
+                PERMISSION_APP_PACKAGE_NAME));
+        Intent launchIntent = new Intent();
+        launchIntent.setComponent(new ComponentName(PERMISSION_APP_PACKAGE_NAME,
+                PERMISSIONS_ACTIVITY_NAME));
+        launchIntent.putExtra(EXTRA_PERMISSION, PERMISSION_NAME);
+        launchIntent.setAction(ACTION_CHECK_HAS_PERMISSION);
+        launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+        mContext.startActivity(launchIntent);
+        assertEquals(expected, mReceiver.waitForBroadcast());
+    }
+
+    private void assertSetPermissionPolicy(int value) throws Exception {
+        mDevicePolicyManager.setPermissionPolicy(ADMIN_RECEIVER_COMPONENT,
+                value);
+        assertEquals(mDevicePolicyManager.getPermissionPolicy(ADMIN_RECEIVER_COMPONENT),
+                value);
+    }
+
+    private void assertSetPermissionGrantState(int value) throws Exception {
+        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME,
+                value);
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                PERMISSION_APP_PACKAGE_NAME, PERMISSION_NAME),
+                value);
+    }
+
+    private void assertSetPermissionGrantStatePreMApp(int value) throws Exception {
+        assertFalse(mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME,
+                value));
+        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
+                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME),
+                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
+        // Install time permissions should always be granted
+        assertEquals(mPackageManager.checkPermission(PERMISSION_NAME,
+                SIMPLE_PRE_M_APP_PACKAGE_NAME),
+                PackageManager.PERMISSION_GRANTED);
+    }
+
+    private void pressPermissionPromptButton(String resName) throws Exception {
+        if (resName == null) {
+            return;
+        }
+
+        BySelector selector = By
+                .clazz(android.widget.Button.class.getName())
+                .res("com.android.packageinstaller", resName);
+        mDevice.wait(Until.hasObject(selector), 5000);
+        UiObject2 button = mDevice.findObject(selector);
+        assertNotNull("Couldn't find button with resource id: " + resName, button);
+        button.click();
+    }
+
+    private class PermissionBroadcastReceiver extends BroadcastReceiver {
+        private BlockingQueue<Integer> mQueue = new ArrayBlockingQueue<Integer> (1);
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Integer result = new Integer(intent.getIntExtra(EXTRA_GRANT_STATE, PERMISSION_ERROR));
+            Log.d(TAG, "Grant state received " + result);
+            assertTrue(mQueue.add(result));
+        }
+
+        public int waitForBroadcast() throws Exception {
+            Integer result = mQueue.poll(30, TimeUnit.SECONDS);
+            mQueue.clear();
+            assertNotNull(result);
+            Log.d(TAG, "Grant state retrieved " + result.intValue());
+            return result.intValue();
+        }
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/PersistentIntentResolvingTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PersistentIntentResolvingTest.java
similarity index 89%
rename from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/PersistentIntentResolvingTest.java
rename to hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PersistentIntentResolvingTest.java
index fcef05f..41526ec 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/PersistentIntentResolvingTest.java
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/PersistentIntentResolvingTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.cts.deviceowner;
+package com.android.cts.deviceandprofileowner;
 
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -22,8 +22,8 @@
 import android.content.IntentFilter;
 import android.os.SystemClock;
 
-public class PersistentIntentResolvingTest extends BaseDeviceOwnerTest {
-    public static final String EXAMPLE_ACTION = "com.android.cts.deviceowner.EXAMPLE_ACTION";
+public class PersistentIntentResolvingTest extends BaseDeviceAdminTest {
+    static final String EXAMPLE_ACTION = "com.android.cts.deviceandprofileowner.EXAMPLE_ACTION";
 
     private boolean mReceivedConfirmationFrom1;
     private boolean mReceivedConfirmationFrom2;
@@ -48,7 +48,8 @@
 
     @Override
     protected void tearDown() throws Exception {
-        mDevicePolicyManager.clearPackagePersistentPreferredActivities(getWho(), PACKAGE_NAME);
+        mDevicePolicyManager.clearPackagePersistentPreferredActivities(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_NAME);
         mContext.unregisterReceiver(mReceiver);
 
         super.tearDown();
@@ -80,7 +81,8 @@
 
     public void testAddAndClearPersistentPreferredActivitiesYieldsResolverActivity() {
         addPersistentPreferredActivity();
-        mDevicePolicyManager.clearPackagePersistentPreferredActivities(getWho(), PACKAGE_NAME);
+        mDevicePolicyManager.clearPackagePersistentPreferredActivities(ADMIN_RECEIVER_COMPONENT,
+                PACKAGE_NAME);
 
         sendExampleIntent();
         SystemClock.sleep(5000);
@@ -121,6 +123,7 @@
         filter.addCategory(Intent.CATEGORY_DEFAULT);
         ComponentName targetComponent = new ComponentName(PACKAGE_NAME,
                 ExampleIntentReceivingActivity2.class.getName());
-        mDevicePolicyManager.addPersistentPreferredActivity(getWho(), filter, targetComponent);
+        mDevicePolicyManager.addPersistentPreferredActivity(ADMIN_RECEIVER_COMPONENT, filter,
+                targetComponent);
     }
 }
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledActivity.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledActivity.java
new file mode 100644
index 0000000..b5b4fdc
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledActivity.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceandprofileowner;
+
+import android.app.Activity;
+import android.content.Intent;
+
+/**
+ * Test activity for setScreenCaptureDisabled().
+ */
+public class ScreenCaptureDisabledActivity extends Activity {
+
+    static final String ACTIVITY_RESUMED =
+            "com.android.cts.deviceandprofileowner.ACTIVITY_RESUMED";
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        sendBroadcast(new Intent(ACTIVITY_RESUMED));
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledTest.java b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledTest.java
new file mode 100644
index 0000000..e2deaa4
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/DeviceAndProfileOwner/src/com/android/cts/deviceandprofileowner/ScreenCaptureDisabledTest.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceandprofileowner;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Log;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Tests for {@link DevicePolicyManager#setScreenCaptureDisabled} and
+ * {@link DevicePolicyManager#getScreenCaptureDisabled} APIs.
+ */
+public class ScreenCaptureDisabledTest extends BaseDeviceAdminTest {
+
+    private static final String TAG = "ScreenCaptureDisabledTest";
+
+    private ScreenCaptureBroadcastReceiver mReceiver = new ScreenCaptureBroadcastReceiver();
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext.registerReceiver(mReceiver, new IntentFilter(
+                ScreenCaptureDisabledActivity.ACTIVITY_RESUMED));
+    }
+
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mReceiver);
+        super.tearDown();
+    }
+
+    public void testSetScreenCaptureDisabled_false() throws Exception {
+        mDevicePolicyManager.setScreenCaptureDisabled(ADMIN_RECEIVER_COMPONENT, false);
+        assertFalse(mDevicePolicyManager.getScreenCaptureDisabled(ADMIN_RECEIVER_COMPONENT));
+        assertFalse(mDevicePolicyManager.getScreenCaptureDisabled(null /* any admin */));
+        startTestActivity();
+        assertNotNull(getInstrumentation().getUiAutomation().takeScreenshot());
+    }
+
+    public void testSetScreenCaptureDisabled_true() throws Exception {
+        mDevicePolicyManager.setScreenCaptureDisabled(ADMIN_RECEIVER_COMPONENT, true);
+        assertTrue(mDevicePolicyManager.getScreenCaptureDisabled(ADMIN_RECEIVER_COMPONENT));
+        assertTrue(mDevicePolicyManager.getScreenCaptureDisabled(null /* any admin */));
+        startTestActivity();
+        assertNull(getInstrumentation().getUiAutomation().takeScreenshot());
+    }
+
+    public void testScreenCapturePossible() throws Exception {
+        assertNotNull(getInstrumentation().getUiAutomation().takeScreenshot());
+    }
+
+    // We need to launch an activity before trying to take a screen shot, because screenshots are
+    // only blocked on a per-user basis in the profile owner case depending on the owner of the
+    // foreground activity.
+    private void startTestActivity() throws Exception {
+        Intent launchIntent = new Intent();
+        launchIntent.setComponent(new ComponentName(PACKAGE_NAME,
+                ScreenCaptureDisabledActivity.class.getName()));
+        launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        mContext.startActivity(launchIntent);
+        assertTrue(mReceiver.waitForBroadcast());
+        Thread.sleep(1000);
+    }
+
+    private class ScreenCaptureBroadcastReceiver extends BroadcastReceiver {
+        private final Semaphore mSemaphore = new Semaphore(0);
+
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Log.d(TAG, "Broadcast received");
+            mSemaphore.release();
+        }
+
+        public boolean waitForBroadcast() throws Exception {
+            if (mSemaphore.tryAcquire(5, TimeUnit.SECONDS)) {
+                return true;
+            }
+            return false;
+        }
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/AndroidManifest.xml b/hostsidetests/devicepolicy/app/DeviceOwner/AndroidManifest.xml
index 64c7262..e424f18 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/AndroidManifest.xml
+++ b/hostsidetests/devicepolicy/app/DeviceOwner/AndroidManifest.xml
@@ -35,19 +35,9 @@
                 <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
             </intent-filter>
         </receiver>
-        <activity android:name="com.android.cts.deviceowner.ExampleIntentReceivingActivity1">
-            <intent-filter>
-                <action android:name="com.android.cts.deviceowner.EXAMPLE_ACTION" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
 
-        <activity android:name="com.android.cts.deviceowner.ExampleIntentReceivingActivity2">
-            <intent-filter>
-                <action android:name="com.android.cts.deviceowner.EXAMPLE_ACTION" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
+        <activity
+            android:name="com.android.cts.deviceowner.KeyManagementActivity" />
 
         <activity
             android:name="com.android.cts.deviceowner.LockTaskUtilityActivity" />
@@ -62,8 +52,6 @@
             android:name="com.android.cts.deviceowner.LockTaskTest$IntentReceivingActivity"
             android:taskAffinity="com.android.cts.deviceowner.LockTaskTest.IntentReceivingActivity"
             />
-        <activity
-            android:name="com.android.cts.deviceowner.ApplicationRestrictionActivity" />
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementActivity.java
similarity index 73%
copy from hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java
copy to hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementActivity.java
index 03ca9a4..c108d24 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ExampleIntentReceivingActivity1.java
+++ b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementActivity.java
@@ -20,15 +20,11 @@
 import android.content.Intent;
 import android.os.Bundle;
 
-public class ExampleIntentReceivingActivity1 extends Activity {
-    public static final String CONFIRM_ACTION = "com.android.cts.deviceowner.CONFIRM_1";
+public class KeyManagementActivity extends Activity {
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        if (getIntent().getAction().equals(PersistentIntentResolvingTest.EXAMPLE_ACTION)) {
-            sendBroadcast(new Intent(CONFIRM_ACTION));
-        }
         finish();
     }
 }
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementTest.java b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementTest.java
index a608794..5774b0c 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementTest.java
+++ b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/KeyManagementTest.java
@@ -45,13 +45,13 @@
 import android.content.Context;
 
 public class KeyManagementTest extends
-        ActivityInstrumentationTestCase2<ExampleIntentReceivingActivity1> {
+        ActivityInstrumentationTestCase2<KeyManagementActivity> {
 
     private static final int KEYCHAIN_TIMEOUT_MS = 8000;
     private DevicePolicyManager mDevicePolicyManager;
 
     public KeyManagementTest() {
-        super(ExampleIntentReceivingActivity1.class);
+        super(KeyManagementActivity.class);
     }
 
     @Override
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ScreenCaptureDisabledTest.java b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ScreenCaptureDisabledTest.java
deleted file mode 100644
index 59b9773..0000000
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/ScreenCaptureDisabledTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.cts.deviceowner;
-
-import android.app.admin.DevicePolicyManager;
-
-/**
- * Tests for {@link DevicePolicyManager#setScreenCaptureDisabled} and
- * {@link DevicePolicyManager#getScreenCaptureDisabled} APIs.
- */
-public class ScreenCaptureDisabledTest extends BaseDeviceOwnerTest {
-
-    public void testSetScreenCaptureDisabled_false() throws Exception {
-        mDevicePolicyManager.setScreenCaptureDisabled(getWho(), false);
-        assertFalse(mDevicePolicyManager.getScreenCaptureDisabled(getWho()));
-    }
-
-    public void testSetScreenCaptureDisabled_true() throws Exception {
-        mDevicePolicyManager.setScreenCaptureDisabled(getWho(), true);
-        assertTrue(mDevicePolicyManager.getScreenCaptureDisabled(getWho()));
-    }
-
-    public void testSetScreenCaptureDisabled_anyAdminTrue() {
-        mDevicePolicyManager.setScreenCaptureDisabled(getWho(), true);
-        assertTrue(mDevicePolicyManager.getScreenCaptureDisabled(null /* any admin */));
-    }
-
-    public void testSetScreenCaptureDisabled_anyAdminFalse() {
-        mDevicePolicyManager.setScreenCaptureDisabled(getWho(), false);
-        assertFalse(mDevicePolicyManager.getScreenCaptureDisabled(null /* any admin */));
-    }
-}
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/WifiConfigLockdownTest.java b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/WifiConfigLockdownTest.java
index ef1d8f7..1627961 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/WifiConfigLockdownTest.java
+++ b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/WifiConfigLockdownTest.java
@@ -26,15 +26,15 @@
 
 import java.util.List;
 
-import static com.android.compatibility.common.util.WifiConfigCreator.CREATE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_CREATE_WIFI_CONFIG;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_NETID;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_PASSWORD;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_SECURITY_TYPE;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_SSID;
-import static com.android.compatibility.common.util.WifiConfigCreator.REMOVE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_REMOVE_WIFI_CONFIG;
 import static com.android.compatibility.common.util.WifiConfigCreator.SECURITY_TYPE_NONE;
 import static com.android.compatibility.common.util.WifiConfigCreator.SECURITY_TYPE_WPA;
-import static com.android.compatibility.common.util.WifiConfigCreator.UPDATE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_UPDATE_WIFI_CONFIG;
 
 /**
  * Testing WiFi configuration lockdown by Device Owner
@@ -58,7 +58,7 @@
                 Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, "1");
         mConfigCreator.addNetwork(ORIGINAL_DEVICE_OWNER_SSID, true, SECURITY_TYPE_WPA,
                 ORIGINAL_PASSWORD);
-        startRegularActivity(CREATE_WIFI_CONFIG_ACTION, -1, ORIGINAL_REGULAR_SSID,
+        startRegularActivity(ACTION_CREATE_WIFI_CONFIG, -1, ORIGINAL_REGULAR_SSID,
                 SECURITY_TYPE_WPA, ORIGINAL_PASSWORD);
     }
 
@@ -116,7 +116,7 @@
         int updateCount = 0;
         for (WifiConfiguration config : configs) {
             if (areMatchingSsids(ORIGINAL_DEVICE_OWNER_SSID, config.SSID)) {
-                startRegularActivity(UPDATE_WIFI_CONFIG_ACTION, config.networkId,
+                startRegularActivity(ACTION_UPDATE_WIFI_CONFIG, config.networkId,
                         CHANGED_DEVICE_OWNER_SSID, SECURITY_TYPE_NONE, null);
                 ++updateCount;
             }
@@ -142,7 +142,7 @@
         int removeCount = 0;
         for (WifiConfiguration config : configs) {
             if (areMatchingSsids(ORIGINAL_DEVICE_OWNER_SSID, config.SSID)) {
-                startRegularActivity(REMOVE_WIFI_CONFIG_ACTION, config.networkId,
+                startRegularActivity(ACTION_REMOVE_WIFI_CONFIG, config.networkId,
                         null, SECURITY_TYPE_NONE, null);
                 ++removeCount;
             }
diff --git a/hostsidetests/devicepolicy/app/IntentReceiver/Android.mk b/hostsidetests/devicepolicy/app/IntentReceiver/Android.mk
index 62c7f28..98cdf52 100644
--- a/hostsidetests/devicepolicy/app/IntentReceiver/Android.mk
+++ b/hostsidetests/devicepolicy/app/IntentReceiver/Android.mk
@@ -26,6 +26,8 @@
 
 LOCAL_JAVA_LIBRARIES := android.test.runner
 
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 ctstestrunner
+
 LOCAL_SDK_VERSION := current
 
 include $(BUILD_CTS_PACKAGE)
diff --git a/hostsidetests/devicepolicy/app/IntentReceiver/AndroidManifest.xml b/hostsidetests/devicepolicy/app/IntentReceiver/AndroidManifest.xml
index 36ac7a7..1512bb2 100644
--- a/hostsidetests/devicepolicy/app/IntentReceiver/AndroidManifest.xml
+++ b/hostsidetests/devicepolicy/app/IntentReceiver/AndroidManifest.xml
@@ -22,16 +22,53 @@
     <uses-permission android:name="com.android.cts.managedprofile.permission.SAMPLE"/>
 
     <application>
+
+        <uses-library android:name="android.test.runner" />
+
         <activity android:name="com.android.cts.intent.receiver.IntentReceiverActivity">
             <intent-filter>
                 <action android:name="com.android.cts.action.COPY_TO_CLIPBOARD" />
                 <action android:name="com.android.cts.action.READ_FROM_URI" />
                 <action android:name="com.android.cts.action.TAKE_PERSISTABLE_URI_PERMISSION" />
                 <action android:name="com.android.cts.action.WRITE_TO_URI" />
-                <action android:name="com.android.cts.action.TEST_LOCK_TASK" />
+                <action android:name="com.android.cts.action.JUST_CREATE" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+
+        <activity android:name=".SimpleIntentReceiverActivity" android:exported="true"/>
+
+        <activity-alias android:name=".BrowserActivity"
+            android:targetActivity=".SimpleIntentReceiverActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+                <category android:name="android.intent.category.BROWSABLE"/>
+                <data android:scheme="http"/>
+            </intent-filter>
+        </activity-alias>
+
+        <activity-alias android:name=".AppLinkActivity"
+            android:targetActivity=".SimpleIntentReceiverActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+                <category android:name="android.intent.category.BROWSABLE"/>
+                <data android:scheme="http" android:host="com.android.cts.intent.receiver"/>
+            </intent-filter>
+        </activity-alias>
+
+        <receiver android:name=".BroadcastIntentReceiver">
+            <intent-filter>
+                <action android:name="android.app.action.DEVICE_OWNER_CHANGED"/>
+            </intent-filter>
+        </receiver>
+
     </application>
 
+    <instrumentation
+        android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:targetPackage="com.android.cts.intent.receiver"
+        android:label="Intent Receiver CTS Tests" />
+
 </manifest>
diff --git a/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/BroadcastIntentReceiver.java b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/BroadcastIntentReceiver.java
new file mode 100644
index 0000000..34b8798
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/BroadcastIntentReceiver.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.intent.receiver;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+
+public class BroadcastIntentReceiver extends BroadcastReceiver {
+
+    static final String OWNER_CHANGED_BROADCAST_RECEIVED_KEY
+         = "owner-changed-broadcast-received";
+
+    static final String PREFERENCES_NAME = "BroadcastIntentReceiver";
+
+    @Override
+    public void onReceive(Context c, Intent i) {
+        SharedPreferences prefs = c.getSharedPreferences(PREFERENCES_NAME, Context.MODE_PRIVATE);
+        SharedPreferences.Editor editor = prefs.edit();
+        editor.putBoolean(OWNER_CHANGED_BROADCAST_RECEIVED_KEY, true);
+        editor.apply();
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/OwnerChangedBroadcastTest.java b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/OwnerChangedBroadcastTest.java
new file mode 100644
index 0000000..5cad040
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/OwnerChangedBroadcastTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.intent.receiver;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+import android.test.InstrumentationTestCase;
+
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.TimeUnit;
+import java.lang.InterruptedException;
+
+public class OwnerChangedBroadcastTest extends InstrumentationTestCase {
+
+    private SharedPreferences mPreferences;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        Context context = getInstrumentation().getTargetContext();
+        mPreferences = context.getSharedPreferences(
+                BroadcastIntentReceiver.PREFERENCES_NAME, Context.MODE_PRIVATE);
+    }
+
+    // We can't just register a broadcast receiver in the code because the broadcast
+    // may have been sent before this test is run. So we have a manifest receiver
+    // listening to the broadcast and writing to a shared preference when it receives it.
+    public void testOwnerChangedBroadcastReceived() throws InterruptedException {
+        final Semaphore mPreferenceChanged = new Semaphore(0);
+
+        OnSharedPreferenceChangeListener listener = new OnSharedPreferenceChangeListener() {
+            @Override
+            public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+                if (key.equals(BroadcastIntentReceiver.OWNER_CHANGED_BROADCAST_RECEIVED_KEY)) {
+                    mPreferenceChanged.release();
+                }
+            }
+        };
+        mPreferences.registerOnSharedPreferenceChangeListener(listener);
+
+        if (mPreferences.getBoolean(BroadcastIntentReceiver.OWNER_CHANGED_BROADCAST_RECEIVED_KEY,
+                false)) {
+            // The broadcast intent has already been received? good
+            // Otherwise, we'll wait until we receive it.
+            return;
+        }
+        assertTrue(mPreferenceChanged.tryAcquire(40, TimeUnit.SECONDS));
+        assertTrue(mPreferences.getBoolean(
+                BroadcastIntentReceiver.OWNER_CHANGED_BROADCAST_RECEIVED_KEY, false));
+    }
+
+    public void testOwnerChangedBroadcastNotReceived() {
+        assertFalse(mPreferences.getBoolean(
+                BroadcastIntentReceiver.OWNER_CHANGED_BROADCAST_RECEIVED_KEY, false));
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/SimpleIntentReceiverActivity.java b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/SimpleIntentReceiverActivity.java
new file mode 100644
index 0000000..23755df
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/IntentReceiver/src/com/android/cts/intent/receiver/SimpleIntentReceiverActivity.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.intent.receiver;
+
+import android.app.admin.DevicePolicyManager;
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import android.os.Bundle;
+
+/**
+ * An activity that receives an intent and returns immediately, indicating its own name and if it is
+ * running in a managed profile.
+ */
+public class SimpleIntentReceiverActivity extends Activity {
+    private static final String TAG = "SimpleIntentReceiverActivity";
+
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        String className = getIntent().getComponent().getClassName();
+
+        // We try to check if we are in a managed profile or not.
+        // To do this, check if com.android.cts.managedprofile is the profile owner.
+        DevicePolicyManager dpm =
+                (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
+        boolean inManagedProfile = dpm.isProfileOwnerApp("com.android.cts.managedprofile");
+
+        Log.i(TAG, "activity " + className + " started, is in managed profile: "
+                + inManagedProfile);
+        Intent result = new Intent();
+        result.putExtra("extra_receiver_class", className);
+        result.putExtra("extra_in_managed_profile", inManagedProfile);
+        setResult(Activity.RESULT_OK, result);
+        finish();
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/AppLinkTest.java b/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/AppLinkTest.java
new file mode 100644
index 0000000..51ff362
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/AppLinkTest.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.intent.sender;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.test.InstrumentationTestCase;
+import android.util.Log;
+
+public class AppLinkTest extends InstrumentationTestCase {
+
+    private static final String TAG = "AppLinkTest";
+
+    private Context mContext;
+    private IntentSenderActivity mActivity;
+
+    private static final String EXTRA_IN_MANAGED_PROFILE = "extra_in_managed_profile";
+    private static final String EXTRA_RECEIVER_CLASS = "extra_receiver_class";
+    private static final String APP_LINK_ACTIVITY
+            = "com.android.cts.intent.receiver.AppLinkActivity";
+    private static final String BROWSER_ACTIVITY
+            = "com.android.cts.intent.receiver.BrowserActivity";
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getTargetContext();
+        mActivity = launchActivity(mContext.getPackageName(), IntentSenderActivity.class, null);
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        mActivity.finish();
+        super.tearDown();
+    }
+
+    public void testReceivedByAppLinkActivityInPrimary() throws Exception {
+        checkHttpIntentResult(APP_LINK_ACTIVITY, false);
+    }
+
+    public void testReceivedByAppLinkActivityInManaged() throws Exception {
+        checkHttpIntentResult(APP_LINK_ACTIVITY, true);
+    }
+
+    public void testReceivedByBrowserActivityInManaged() throws Exception {
+        checkHttpIntentResult(BROWSER_ACTIVITY, true);
+    }
+
+    public void testTwoReceivers() {
+        assertNumberOfReceivers(2);
+    }
+
+    public void testThreeReceivers() {
+        assertNumberOfReceivers(3);
+    }
+
+    // Should not be called if there are several possible receivers to the intent
+    // (see getHttpIntent)
+    private void checkHttpIntentResult(String receiverClassName, boolean inManagedProfile)
+            throws Exception {
+        PackageManager pm = mContext.getPackageManager();
+
+        Intent result = mActivity.getResult(getHttpIntent());
+        // If it is received in the other profile, we cannot check the class from the ResolveInfo
+        // returned by queryIntentActivities. So we rely on the receiver telling us its class.
+        assertEquals(receiverClassName, result.getStringExtra(EXTRA_RECEIVER_CLASS));
+        assertTrue(result.hasExtra(EXTRA_IN_MANAGED_PROFILE));
+        assertEquals(inManagedProfile, result.getBooleanExtra(EXTRA_IN_MANAGED_PROFILE, false));
+    }
+
+    private void assertNumberOfReceivers(int n) {
+        PackageManager pm = mContext.getPackageManager();
+        assertEquals(n, pm.queryIntentActivities(getHttpIntent(), /* flags = */ 0).size());
+    }
+
+    private Intent getHttpIntent() {
+        Intent i = new Intent(Intent.ACTION_VIEW);
+        i.addCategory(Intent.CATEGORY_BROWSABLE);
+        i.setData(Uri.parse("http://com.android.cts.intent.receiver"));
+        return i;
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/IntentSenderActivity.java b/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/IntentSenderActivity.java
index fd421ac..eb64d47 100644
--- a/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/IntentSenderActivity.java
+++ b/hostsidetests/devicepolicy/app/IntentSender/src/com/android/cts/intent/sender/IntentSenderActivity.java
@@ -66,8 +66,12 @@
     }
 
     public Intent getResult(Intent intent) throws Exception {
+        Log.d(TAG, "Sending intent " + intent);
         startActivityForResult(intent, 42);
         final Result result = mResult.poll(30, TimeUnit.SECONDS);
+        if (result != null) {
+            Log.d(TAG, "Result intent: " + result.data);
+        }
         return (result != null) ? result.data : null;
     }
 
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/Android.mk b/hostsidetests/devicepolicy/app/ManagedProfile/Android.mk
index f4adb31..b31e74b 100644
--- a/hostsidetests/devicepolicy/app/ManagedProfile/Android.mk
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/Android.mk
@@ -26,7 +26,8 @@
 
 LOCAL_JAVA_LIBRARIES := android.test.runner cts-junit
 
-LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4 ctstestrunner
+LOCAL_STATIC_JAVA_LIBRARIES = android-support-v4 ctstestrunner compatibility-device-util_v2 \
+	ub-uiautomator
 
 LOCAL_SDK_VERSION := current
 
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/AndroidManifest.xml b/hostsidetests/devicepolicy/app/ManagedProfile/AndroidManifest.xml
index 31e4ad4..e03ebdc 100644
--- a/hostsidetests/devicepolicy/app/ManagedProfile/AndroidManifest.xml
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/AndroidManifest.xml
@@ -18,6 +18,7 @@
     package="com.android.cts.managedprofile">
 
     <uses-sdk android:minSdkVersion="20"/>
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
     <uses-permission android:name="android.permission.BLUETOOTH" />
     <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
@@ -51,12 +52,7 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-        <activity android:name=".ComponentDisablingActivity" >
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT"/>
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
+        <activity android:name=".ComponentDisablingActivity" android:exported="true">
         </activity>
         <activity android:name=".ManagedProfileActivity">
             <intent-filter>
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/BaseManagedProfileTest.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/BaseManagedProfileTest.java
index 2a54d97..49754d0 100644
--- a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/BaseManagedProfileTest.java
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/BaseManagedProfileTest.java
@@ -19,7 +19,8 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
-import android.test.AndroidTestCase;
+import android.support.test.uiautomator.UiDevice;
+import android.test.InstrumentationTestCase;
 
 /**
  * Base class for profile-owner based tests.
@@ -27,7 +28,7 @@
  * This class handles making sure that the test is the profile owner and that it has an active admin
  * registered, so that all tests may assume these are done.
  */
-public class BaseManagedProfileTest extends AndroidTestCase {
+public class BaseManagedProfileTest extends InstrumentationTestCase {
 
     public static class BasicAdminReceiver extends DeviceAdminReceiver {
     }
@@ -36,21 +37,23 @@
             BasicAdminReceiver.class.getPackage().getName(), BasicAdminReceiver.class.getName());
 
     protected DevicePolicyManager mDevicePolicyManager;
+    protected Context mContext;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+        mContext = getInstrumentation().getContext();
 
-       mDevicePolicyManager = (DevicePolicyManager)
-               mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
-       assertNotNull(mDevicePolicyManager);
+        mDevicePolicyManager = (DevicePolicyManager)
+                mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+        assertNotNull(mDevicePolicyManager);
 
-       // TODO: Only check the below if we are running as the profile user. If running under the
-       // user owner, can we check that there is a profile and that the below holds for it? If we
-       // don't want to do these checks every time we could get rid of this class altogether and
-       // just have a single test case running under the profile user that do them.
-       assertTrue(mDevicePolicyManager.isAdminActive(ADMIN_RECEIVER_COMPONENT));
-       assertTrue(mDevicePolicyManager.isProfileOwnerApp(
-               ADMIN_RECEIVER_COMPONENT.getPackageName()));
+        // TODO: Only check the below if we are running as the profile user. If running under the
+        // user owner, can we check that there is a profile and that the below holds for it? If we
+        // don't want to do these checks every time we could get rid of this class altogether and
+        // just have a single test case running under the profile user that do them.
+        assertTrue(mDevicePolicyManager.isAdminActive(ADMIN_RECEIVER_COMPONENT));
+        assertTrue(mDevicePolicyManager.isProfileOwnerApp(
+                ADMIN_RECEIVER_COMPONENT.getPackageName()));
     }
 }
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/CrossProfileUtils.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/CrossProfileUtils.java
index 21b2d36..6a63cea 100644
--- a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/CrossProfileUtils.java
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/CrossProfileUtils.java
@@ -20,9 +20,16 @@
 
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
+import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.net.Uri;
 import android.os.UserManager;
 import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.util.List;
 
 /**
  * The methods in this class are not really tests.
@@ -31,6 +38,8 @@
  * device-side methods from the host.
  */
 public class CrossProfileUtils extends AndroidTestCase {
+    private static final String TAG = "CrossProfileUtils";
+
     private static final String ACTION_READ_FROM_URI = "com.android.cts.action.READ_FROM_URI";
 
     private static final String ACTION_WRITE_TO_URI = "com.android.cts.action.WRITE_TO_URI";
@@ -86,4 +95,18 @@
         dpm.clearUserRestriction(ADMIN_RECEIVER_COMPONENT,
                 UserManager.DISALLOW_CROSS_PROFILE_COPY_PASTE);
     }
+
+    // Disables all browsers in current user
+    public void testDisableAllBrowsers() {
+        PackageManager pm = (PackageManager) getContext().getPackageManager();
+        DevicePolicyManager dpm = (DevicePolicyManager)
+               getContext().getSystemService(Context.DEVICE_POLICY_SERVICE);
+        Intent webIntent = new Intent(Intent.ACTION_VIEW);
+        webIntent.setData(Uri.parse("http://com.android.cts.intent.receiver"));
+        List<ResolveInfo> ris = pm.queryIntentActivities(webIntent, 0 /* no flags*/);
+        for (ResolveInfo ri : ris) {
+            Log.d(TAG, "Hiding " + ri.activityInfo.packageName);
+            dpm.setApplicationHidden(ADMIN_RECEIVER_COMPONENT, ri.activityInfo.packageName, true);
+        }
+    }
 }
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/NfcTest.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/NfcTest.java
new file mode 100644
index 0000000..c74211d
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/NfcTest.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.managedprofile;
+
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+public class NfcTest extends AndroidTestCase {
+    private static final String SAMPLE_TEXT = "This is my text to send.";
+    private static final String TEXT_MIME_TYPE = "text/plain";
+    private static final String NFC_BEAM_ACTIVITY = "com.android.nfc.BeamShareActivity";
+
+    public void testNfcShareDisabled() throws Exception {
+        Intent intent = getTextShareIntent();
+        assertFalse("Nfc beam activity should not be resolved", isNfcBeamActivityResolved(intent));
+    }
+
+    public void testNfcShareEnabled() throws Exception {
+        Intent intent = getTextShareIntent();
+        assertTrue("Nfc beam activity should be resolved", isNfcBeamActivityResolved(intent));
+    }
+
+    private Intent getTextShareIntent() {
+        Intent intent = new Intent();
+        intent.setAction(Intent.ACTION_SEND);
+        intent.putExtra(Intent.EXTRA_TEXT, SAMPLE_TEXT);
+        intent.setType(TEXT_MIME_TYPE);
+        return intent;
+    }
+
+    private boolean isNfcBeamActivityResolved(Intent intent) {
+        PackageManager pm = mContext.getPackageManager();
+        for (ResolveInfo resolveInfo : pm.queryIntentActivities(intent, 0)) {
+            if (NFC_BEAM_ACTIVITY.equals(resolveInfo.activityInfo.name)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+}
+
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/PermissionsTest.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/PermissionsTest.java
deleted file mode 100644
index 1cc2ee2..0000000
--- a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/PermissionsTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.cts.managedprofile;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.os.UserManager;
-
-import com.android.cts.managedprofile.BaseManagedProfileTest;
-
-import org.junit.Ignore;
-
-/**
- * Test Runtime Permissions APIs in DevicePolicyManager.
- */
-public class PermissionsTest extends BaseManagedProfileTest {
-
-    private static final String SIMPLE_APP_PACKAGE_NAME = "com.android.cts.launcherapps.simpleapp";
-    private static final String SIMPLE_PRE_M_APP_PACKAGE_NAME =
-            "com.android.cts.launcherapps.simplepremapp";
-    private static final String PERMISSION_NAME = "android.permission.READ_CONTACTS";
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        // Make sure we are running in a managed profile, otherwise risk wiping the primary user's
-        // data.
-        assertTrue(mDevicePolicyManager.isAdminActive(ADMIN_RECEIVER_COMPONENT));
-        assertTrue(mDevicePolicyManager.isProfileOwnerApp(
-                ADMIN_RECEIVER_COMPONENT.getPackageName()));
-    }
-
-    public void testPermissionGrantState() {
-        PackageManager pm = mContext.getPackageManager();
-        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_DENIED);
-
-        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        // Should stay denied
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_DENIED);
-
-        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_GRANTED);
-
-        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        // Should stay granted
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_GRANTED);
-
-        mDevicePolicyManager.setPermissionPolicy(ADMIN_RECEIVER_COMPONENT,
-                DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
-        assertEquals(mDevicePolicyManager.getPermissionPolicy(ADMIN_RECEIVER_COMPONENT),
-                DevicePolicyManager.PERMISSION_POLICY_AUTO_DENY);
-
-        mDevicePolicyManager.setPermissionPolicy(ADMIN_RECEIVER_COMPONENT,
-                DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
-        assertEquals(mDevicePolicyManager.getPermissionPolicy(ADMIN_RECEIVER_COMPONENT),
-                DevicePolicyManager.PERMISSION_POLICY_AUTO_GRANT);
-
-        mDevicePolicyManager.setPermissionPolicy(ADMIN_RECEIVER_COMPONENT,
-                DevicePolicyManager.PERMISSION_POLICY_PROMPT);
-        assertEquals(mDevicePolicyManager.getPermissionPolicy(ADMIN_RECEIVER_COMPONENT),
-                DevicePolicyManager.PERMISSION_POLICY_PROMPT);
-    }
-
-    public void testPermissionGrantStatePreMApp() {
-        // These tests are to make sure that pre-M apps are not granted runtime permissions
-        // by a profile owner
-        PackageManager pm = mContext.getPackageManager();
-        assertFalse(mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED));
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        // Install time permissions should always be granted
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_PRE_M_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_GRANTED);
-
-        mDevicePolicyManager.setPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME,
-                DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
-        assertEquals(mDevicePolicyManager.getPermissionGrantState(ADMIN_RECEIVER_COMPONENT,
-                SIMPLE_PRE_M_APP_PACKAGE_NAME, PERMISSION_NAME),
-                DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT);
-        // Install time permissions should always be granted
-        assertEquals(pm.checkPermission(PERMISSION_NAME, SIMPLE_PRE_M_APP_PACKAGE_NAME),
-                PackageManager.PERMISSION_GRANTED);
-    }
-}
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WifiTest.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WifiTest.java
new file mode 100644
index 0000000..c4c02e8
--- /dev/null
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WifiTest.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.managedprofile;
+
+import android.content.Context;
+import android.content.Intent;
+import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiManager;
+import android.os.SystemClock;
+import android.test.AndroidTestCase;
+
+import java.util.concurrent.TimeUnit;
+
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_CREATE_WIFI_CONFIG;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_REMOVE_WIFI_CONFIG;
+import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_NETID;
+import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_SSID;
+
+/**
+ * Driven by the host-side test: com.android.cts.devicepolicy.ManagedProfileTest
+ *
+ * Each of these tests can run independently but have side-effects. The side-effects are used as
+ * building blocks to test various cleanup routines, for example that networks belonging to one
+ * user are deleted
+ */
+public class WifiTest extends AndroidTestCase {
+    private static final String TAG = WifiTest.class.getSimpleName();
+
+    // Unique SSID to use for this test (max SSID length is 32)
+    private static final String NETWORK_SSID = "com.android.cts.xwde7ktvh8rmjuhr";
+
+    // Time duration to allow before assuming that a WiFi operation failed and ceasing to wait.
+    private static final long UPDATE_TIMEOUT_MS = TimeUnit.SECONDS.toMillis(30);
+    private static final long UPDATE_INTERVAL_MS = TimeUnit.SECONDS.toMillis(1);
+
+    // Shared WifiManager instance.
+    private WifiManager mWifiManager;
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        mWifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
+    }
+
+    /**
+     * Add a network through the WifiManager API. Verifies that the network was actually added.
+     *
+     * <p>Side effects:
+     * <ul>
+     *   <li>Network with SSID {@link WifiTest#NETWORK_SSID} is created.</li>
+     * </ul>
+     */
+    public void testAddWifiNetwork() throws Exception {
+        Intent intent = new Intent(ACTION_CREATE_WIFI_CONFIG);
+        intent.putExtra(EXTRA_SSID, NETWORK_SSID);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        getContext().startActivity(intent);
+
+        // Wait for configuration to appear in networks list.
+        assertTrue(awaitNetworkState(NETWORK_SSID, /* exists */ true));
+    }
+
+    /**
+     * Remove any network through the WifiManager API with a certain SSID. Verifies that the network
+     * was actually removed.
+     *
+     * <p>Side effects:
+     * <ul>
+     *   <li>If a network with SSID {@link WifiTest#NETWORK_SSID} exists, it will be deleted.</li>
+     * </ul>
+     */
+    public void testRemoveWifiNetworkIfExists() throws Exception {
+        WifiConfiguration config = getNetworkForSsid(NETWORK_SSID);
+
+        if (config != null && config.networkId != -1) {
+            Intent intent = new Intent(ACTION_REMOVE_WIFI_CONFIG);
+            intent.putExtra(EXTRA_NETID, config.networkId);
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+            getContext().startActivity(intent);
+        }
+
+        assertTrue(awaitNetworkState(NETWORK_SSID, /* exists */ false));
+    }
+
+    /**
+     * Verify that no network exists with a certain SSID.
+     *
+     * <p>The SSID that will be checked for is {@link WifiTest#NETWORK_SSID}.
+     */
+    public void testWifiNetworkDoesNotExist() throws Exception {
+        assertTrue(awaitNetworkState(NETWORK_SSID, /* exists */ false));
+    }
+
+    /**
+     * Block until a network configuration with a certain SSID either exists or ceases to.
+     * Wait for up to {@link WifiTest#UPDATE_TIMEOUT_MS} milliseconds, in increments of
+     * {@link WifiTest#UPDATE_INTERVAL_MS}.
+     */
+    private boolean awaitNetworkState(String ssid, boolean exists) {
+        for (int probes = 0; probes * UPDATE_INTERVAL_MS <= UPDATE_TIMEOUT_MS; probes++) {
+            if (probes != 0) {
+                SystemClock.sleep(UPDATE_INTERVAL_MS);
+            }
+            if ((getNetworkForSsid(ssid) != null) == exists) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Internal method to find an existing {@link WifiConfiguration} with the given SSID.
+     *
+     * @return A {@link WifiConfiguration} matching the specification, or {@code null} if no such
+     *         configuration exists.
+     */
+    private WifiConfiguration getNetworkForSsid(String ssid) {
+        if (!ssid.startsWith("\"")) {
+            ssid = '"' + ssid + '"';
+        }
+        for (WifiConfiguration config : mWifiManager.getConfiguredNetworks()) {
+            if (ssid.equals(config.SSID)) {
+                return config;
+            }
+        }
+        return null;
+    }
+}
diff --git a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WipeDataTest.java b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WipeDataTest.java
index 76a9e44..9646e61 100644
--- a/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WipeDataTest.java
+++ b/hostsidetests/devicepolicy/app/ManagedProfile/src/com/android/cts/managedprofile/WipeDataTest.java
@@ -64,11 +64,4 @@
         // Verify the profile is deleted
         assertFalse(mUserManager.getUserProfiles().contains(currentUser));
     }
-
-    // Override this test inherited from base class, as it will trigger another round of setUp()
-    // which would fail because the managed profile has been removed by this test.
-    @Override
-    @Ignore
-    public void testAndroidTestCaseSetupProperly() {
-    }
 }
diff --git a/hostsidetests/devicepolicy/app/WifiConfigCreator/src/com/android/cts/deviceowner/wificonfigcreator/WifiConfigCreatorActivity.java b/hostsidetests/devicepolicy/app/WifiConfigCreator/src/com/android/cts/deviceowner/wificonfigcreator/WifiConfigCreatorActivity.java
index 7958cb1..af31030 100644
--- a/hostsidetests/devicepolicy/app/WifiConfigCreator/src/com/android/cts/deviceowner/wificonfigcreator/WifiConfigCreatorActivity.java
+++ b/hostsidetests/devicepolicy/app/WifiConfigCreator/src/com/android/cts/deviceowner/wificonfigcreator/WifiConfigCreatorActivity.java
@@ -22,14 +22,14 @@
 import android.util.Log;
 
 import com.android.compatibility.common.util.WifiConfigCreator;
-import static com.android.compatibility.common.util.WifiConfigCreator.CREATE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_CREATE_WIFI_CONFIG;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_NETID;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_PASSWORD;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_SECURITY_TYPE;
 import static com.android.compatibility.common.util.WifiConfigCreator.EXTRA_SSID;
-import static com.android.compatibility.common.util.WifiConfigCreator.REMOVE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_REMOVE_WIFI_CONFIG;
 import static com.android.compatibility.common.util.WifiConfigCreator.SECURITY_TYPE_NONE;
-import static com.android.compatibility.common.util.WifiConfigCreator.UPDATE_WIFI_CONFIG_ACTION;
+import static com.android.compatibility.common.util.WifiConfigCreator.ACTION_UPDATE_WIFI_CONFIG;
 
 /**
  * A simple activity to create and manage wifi configurations.
@@ -45,18 +45,18 @@
         try {
             Intent intent = getIntent();
             String action = intent.getAction();
-            if (CREATE_WIFI_CONFIG_ACTION.equals(action)) {
+            if (ACTION_CREATE_WIFI_CONFIG.equals(action)) {
                 String ssid = intent.getStringExtra(EXTRA_SSID);
                 int securityType = intent.getIntExtra(EXTRA_SECURITY_TYPE, SECURITY_TYPE_NONE);
                 String password = intent.getStringExtra(EXTRA_PASSWORD);
                 configCreator.addNetwork(ssid, false, securityType, password);
-            } else if (UPDATE_WIFI_CONFIG_ACTION.equals(action)) {
+            } else if (ACTION_UPDATE_WIFI_CONFIG.equals(action)) {
                 int netId = intent.getIntExtra(EXTRA_NETID, -1);
                 String ssid = intent.getStringExtra(EXTRA_SSID);
                 int securityType = intent.getIntExtra(EXTRA_SECURITY_TYPE, SECURITY_TYPE_NONE);
                 String password = intent.getStringExtra(EXTRA_PASSWORD);
                 configCreator.updateNetwork(netId, ssid, false, securityType, password);
-            } else if (REMOVE_WIFI_CONFIG_ACTION.equals(action)) {
+            } else if (ACTION_REMOVE_WIFI_CONFIG.equals(action)) {
                 int netId = intent.getIntExtra(EXTRA_NETID, -1);
                 if (netId != -1) {
                     configCreator.removeNetwork(netId);
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/BaseDevicePolicyTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/BaseDevicePolicyTest.java
index 5904a6f..671c3e5 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/BaseDevicePolicyTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/BaseDevicePolicyTest.java
@@ -49,13 +49,9 @@
 
     private static final String RUNNER = "android.support.test.runner.AndroidJUnitRunner";
 
-    protected static final String MANAGED_PROFILE_PKG = "com.android.cts.managedprofile";
-    protected static final String MANAGED_PROFILE_APK = "CtsManagedProfileApp.apk";
-    protected static final String ADMIN_RECEIVER_TEST_CLASS =
-            MANAGED_PROFILE_PKG + ".BaseManagedProfileTest$BasicAdminReceiver";
-
     protected CtsBuildHelper mCtsBuild;
 
+    private String mPackageVerifier;
     private HashSet<String> mAvailableFeatures;
     protected boolean mHasFeature;
 
@@ -70,6 +66,18 @@
         assertNotNull(mCtsBuild);  // ensure build has been set before test is run.
         mHasFeature = getDevice().getApiLevel() >= 21 /* Build.VERSION_CODES.L */
                 && hasDeviceFeature("android.software.device_admin");
+        // disable the package verifier to avoid the dialog when installing an app
+        mPackageVerifier = getDevice().executeShellCommand(
+                "settings get global package_verifier_enable");
+        getDevice().executeShellCommand("settings put global package_verifier_enable 0");
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        // reset the package verifier setting to its original value
+        getDevice().executeShellCommand("settings put global package_verifier_enable "
+                + mPackageVerifier);
+        super.tearDown();
     }
 
     protected void installApp(String fileName)
@@ -91,7 +99,7 @@
         }
 
         final String result = device.executeShellCommand(
-                "pm install --user " + userId + " " + remotePath);
+                "pm install -r --user " + userId + " " + remotePath);
         assertTrue(result, result.contains("\nSuccess"));
     }
 
@@ -103,8 +111,6 @@
         CLog.logAndDisplay(LogLevel.INFO, "Output for command " + command + ": " + commandOutput);
         assertTrue(commandOutput + " expected to start with \"Success:\"",
                 commandOutput.startsWith("Success:"));
-        // Wait 60 seconds for intents generated to be handled.
-        Thread.sleep(60 * 1000);
     }
 
     protected int getMaxNumberOfUsersSupported() throws DeviceNotAvailableException {
@@ -144,12 +150,14 @@
     }
 
     protected void removeUser(int userId) throws Exception  {
+        String stopUserCommand = "am stop-user -w " + userId;
+        CLog.logAndDisplay(LogLevel.INFO, "starting command \"" + stopUserCommand + "\" and waiting.");
+        CLog.logAndDisplay(LogLevel.INFO, "Output for command " + stopUserCommand + ": "
+                + getDevice().executeShellCommand(stopUserCommand));
         String removeUserCommand = "pm remove-user " + userId;
         CLog.logAndDisplay(LogLevel.INFO, "starting command " + removeUserCommand);
         CLog.logAndDisplay(LogLevel.INFO, "Output for command " + removeUserCommand + ": "
                 + getDevice().executeShellCommand(removeUserCommand));
-        // Wait 60 seconds for user to finish being removed.
-        Thread.sleep(60 * 1000);
     }
 
     protected void removeTestUsers() throws Exception {
@@ -288,8 +296,6 @@
         String[] tokens = commandOutput.split("\\s+");
         assertTrue(tokens.length > 0);
         assertEquals("Success:", tokens[0]);
-        // Wait 60 seconds for intents generated to be handled.
-        Thread.sleep(60 * 1000);
         return Integer.parseInt(tokens[tokens.length-1]);
     }
 
@@ -327,13 +333,20 @@
         return -1;
     }
 
-    protected void setProfileOwner(String componentName, int userId)
+    protected boolean setProfileOwner(String componentName, int userId)
             throws DeviceNotAvailableException {
         String command = "dpm set-profile-owner --user " + userId + " '" + componentName + "'";
         String commandOutput = getDevice().executeShellCommand(command);
         CLog.logAndDisplay(LogLevel.INFO, "Output for command " + command + ": " + commandOutput);
-        assertTrue(commandOutput + " expected to start with \"Success:\"",
-                commandOutput.startsWith("Success:"));
+        return commandOutput.startsWith("Success:");
+    }
+
+    protected void setProfileOwnerOrFail(String componentName, int userId)
+            throws Exception {
+        if (!setProfileOwner(componentName, userId)) {
+            removeUser(userId);
+            fail("Failed to set profile owner");
+        }
     }
 
     protected void setDeviceAdmin(String componentName) throws DeviceNotAvailableException {
@@ -343,4 +356,11 @@
         assertTrue(commandOutput + " expected to start with \"Success:\"",
                 commandOutput.startsWith("Success:"));
     }
+
+    protected boolean setDeviceOwner(String componentName) throws DeviceNotAvailableException {
+        String command = "dpm set-device-owner '" + componentName + "'";
+        String commandOutput = getDevice().executeShellCommand(command);
+        CLog.logAndDisplay(LogLevel.INFO, "Output for command " + command + ": " + commandOutput);
+        return commandOutput.startsWith("Success:");
+    }
 }
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CustomDeviceOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CustomDeviceOwnerTest.java
new file mode 100644
index 0000000..7618e25c
--- /dev/null
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/CustomDeviceOwnerTest.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.devicepolicy;
+
+import com.android.ddmlib.Log.LogLevel;
+import com.android.tradefed.log.LogUtil.CLog;
+
+import java.lang.Exception;
+
+/**
+ * This class is used for tests that need to do something special before setting the device
+ * owner, so they cannot use the regular DeviceOwnerTest class
+ */
+public class CustomDeviceOwnerTest extends BaseDevicePolicyTest {
+
+    private static final String DEVICE_OWNER_PKG = "com.android.cts.deviceowner";
+    private static final String DEVICE_OWNER_APK = "CtsDeviceOwnerApp.apk";
+    private static final String INTENT_RECEIVER_PKG = "com.android.cts.intent.receiver";
+    private static final String INTENT_RECEIVER_APK = "CtsIntentReceiverApp.apk";
+
+    private static final String CLEAR_DEVICE_OWNER_TEST_CLASS =
+            DEVICE_OWNER_PKG + ".ClearDeviceOwnerTest";
+
+    private static final String ADMIN_RECEIVER_TEST_CLASS =
+            DEVICE_OWNER_PKG + ".BaseDeviceOwnerTest$BasicAdminReceiver";
+    private static final String ADMIN_RECEIVER_COMPONENT =
+            DEVICE_OWNER_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS;
+
+    public void setUp() throws Exception {
+        super.setUp();
+
+        if (mHasFeature) {
+            installApp(DEVICE_OWNER_APK);
+        }
+    }
+
+    public void tearDown() throws Exception {
+        if (mHasFeature) {
+            getDevice().uninstallPackage(DEVICE_OWNER_PKG);
+        }
+
+        super.tearDown();
+    }
+
+    public void testOwnerChangedBroadcast() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        try {
+            installApp(INTENT_RECEIVER_APK);
+
+            String testClass = INTENT_RECEIVER_PKG + ".OwnerChangedBroadcastTest";
+
+            // Running this test also gets the intent receiver app out of the stopped state, so it
+            // can receive broadcast intents.
+            assertTrue(runDeviceTests(INTENT_RECEIVER_PKG, testClass,
+                    "testOwnerChangedBroadcastNotReceived", 0));
+
+            // Setting the device owner should send the owner changed broadcast.
+            assertTrue(setDeviceOwner(ADMIN_RECEIVER_COMPONENT));
+
+            assertTrue(runDeviceTests(INTENT_RECEIVER_PKG, testClass,
+                    "testOwnerChangedBroadcastReceived", 0));
+        } finally {
+            getDevice().uninstallPackage(INTENT_RECEIVER_PKG);
+            assertTrue("Failed to remove device owner.",
+                    runDeviceTests(DEVICE_OWNER_PKG, CLEAR_DEVICE_OWNER_TEST_CLASS));
+        }
+    }
+
+    public void testCannotSetDeviceOwnerWhenSecondaryUserPresent() throws Exception {
+        if (!mHasFeature || getMaxNumberOfUsersSupported() < 2) {
+            return;
+        }
+        int userId = -1;
+        try {
+            userId = createUser();
+            assertFalse(setDeviceOwner(ADMIN_RECEIVER_COMPONENT));
+        } finally {
+            removeUser(userId);
+        }
+    }
+}
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceAndProfileOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceAndProfileOwnerTest.java
new file mode 100644
index 0000000..36dab2c
--- /dev/null
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceAndProfileOwnerTest.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.devicepolicy;
+
+/**
+ * Set of tests for usecases that apply to profile and device owner.
+ * This class is the base class of MixedProfileOwnerTest and MixedDeviceOwnerTest and is abstract
+ * to avoid running spurious tests.
+ */
+public abstract class DeviceAndProfileOwnerTest extends BaseDevicePolicyTest {
+
+    protected static final String DEVICE_ADMIN_PKG = "com.android.cts.deviceandprofileowner";
+    protected static final String DEVICE_ADMIN_APK = "CtsDeviceAndProfileOwnerApp.apk";
+    protected static final String ADMIN_RECEIVER_TEST_CLASS
+            = ".BaseDeviceAdminTest$BasicAdminReceiver";
+
+    private static final String PERMISSIONS_APP_PKG = "com.android.cts.permissionapp";
+    private static final String PERMISSIONS_APP_APK = "CtsPermissionApp.apk";
+
+    private static final String SIMPLE_PRE_M_APP_PKG = "com.android.cts.launcherapps.simplepremapp";
+    private static final String SIMPLE_PRE_M_APP_APK = "CtsSimplePreMApp.apk";
+
+    protected static final int USER_OWNER = 0;
+
+    // ID of the user all tests are run as. For device owner this will be 0, for profile owner it
+    // is the user id of the created profile.
+    protected int mUserId;
+
+    @Override
+    protected void tearDown() throws Exception {
+        if (mHasFeature) {
+            getDevice().uninstallPackage(DEVICE_ADMIN_PKG);
+            getDevice().uninstallPackage(PERMISSIONS_APP_PKG);
+            getDevice().uninstallPackage(SIMPLE_PRE_M_APP_PKG);
+        }
+        super.tearDown();
+    }
+
+    public void testApplicationRestrictions() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        executeDeviceTestClass(".ApplicationRestrictionsTest");
+    }
+
+    public void testPermissionGrant() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionGrantState");
+    }
+
+    public void testPermissionPolicy() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionPolicy");
+    }
+
+    public void testPermissionMixedPolicies() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionMixedPolicies");
+    }
+
+    public void testPermissionPrompts() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionPrompts");
+    }
+
+    public void testPermissionAppUpdate() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_setDeniedState");
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkDenied");
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkDenied");
+
+        assertNull(getDevice().uninstallPackage(PERMISSIONS_APP_PKG));
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_setGrantedState");
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkGranted");
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkGranted");
+
+        assertNull(getDevice().uninstallPackage(PERMISSIONS_APP_PKG));
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_setAutoDeniedPolicy");
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkDenied");
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkDenied");
+
+        assertNull(getDevice().uninstallPackage(PERMISSIONS_APP_PKG));
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_setAutoGrantedPolicy");
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkGranted");
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionUpdate_checkGranted");
+    }
+
+    public void testPermissionGrantPreMApp() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(SIMPLE_PRE_M_APP_APK, mUserId);
+        executeDeviceTestMethod(".PermissionsTest", "testPermissionGrantStatePreMApp");
+    }
+
+    public void testPersistentIntentResolving() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        executeDeviceTestClass(".PersistentIntentResolvingTest");
+    }
+
+    public void testScreenCaptureDisabled() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        // We need to ensure that the policy is deactivated for the device owner case, so making
+        // sure the second test is run even if the first one fails
+        try {
+            executeDeviceTestMethod(".ScreenCaptureDisabledTest",
+                    "testSetScreenCaptureDisabled_true");
+        } finally {
+            executeDeviceTestMethod(".ScreenCaptureDisabledTest",
+                    "testSetScreenCaptureDisabled_false");
+        }
+    }
+
+    public void testApplicationHidden() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        installAppAsUser(PERMISSIONS_APP_APK, mUserId);
+        executeDeviceTestClass(".ApplicationHiddenTest");
+    }
+
+    // TODO: Remove AccountManagementTest from XTS after GTS is released for MNC.
+    public void testAccountManagement() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+
+        executeDeviceTestClass(".AccountManagementTest");
+    }
+
+    protected void executeDeviceTestClass(String className) throws Exception {
+        assertTrue(runDeviceTestsAsUser(DEVICE_ADMIN_PKG, className, mUserId));
+    }
+
+    protected void executeDeviceTestMethod(String className, String testName) throws Exception {
+        assertTrue(runDeviceTestsAsUser(DEVICE_ADMIN_PKG, className, testName, mUserId));
+    }
+}
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
index 66a123a1..4f267d1 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
@@ -30,6 +30,11 @@
     private static final String DEVICE_OWNER_PKG = "com.android.cts.deviceowner";
     private static final String DEVICE_OWNER_APK = "CtsDeviceOwnerApp.apk";
 
+    private static final String MANAGED_PROFILE_PKG = "com.android.cts.managedprofile";
+    private static final String MANAGED_PROFILE_APK = "CtsManagedProfileApp.apk";
+    private static final String MANAGED_PROFILE_ADMIN =
+            MANAGED_PROFILE_PKG + ".BaseManagedProfileTest$BasicAdminReceiver";
+
     private static final String TEST_APP_APK = "CtsSimpleApp.apk";
     private static final String TEST_APP_PKG = "com.android.cts.launcherapps.simpleapp";
     private static final String TEST_APP_LOCATION = "/data/local/tmp/";
@@ -51,7 +56,8 @@
         super.setUp();
         if (mHasFeature) {
             installApp(DEVICE_OWNER_APK);
-            setDeviceOwner(DEVICE_OWNER_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS);
+            assertTrue("Failed to set device owner",
+                    setDeviceOwner(DEVICE_OWNER_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS));
         }
     }
 
@@ -66,10 +72,6 @@
         super.tearDown();
     }
 
-    public void testApplicationRestrictions() throws Exception {
-        executeDeviceOwnerTest("ApplicationRestrictionsTest");
-    }
-
     public void testCaCertManagement() throws Exception {
         executeDeviceOwnerTest("CaCertManagementTest");
     }
@@ -91,14 +93,6 @@
         }
     }
 
-    public void testPersistentIntentResolving() throws Exception {
-        executeDeviceOwnerTest("PersistentIntentResolvingTest");
-    }
-
-    public void testScreenCaptureDisabled() throws Exception {
-        executeDeviceOwnerTest("ScreenCaptureDisabledTest");
-    }
-
     public void testPackageInstall() throws Exception {
         final File apk = mCtsBuild.getTestApp(TEST_APP_APK);
         try {
@@ -128,6 +122,22 @@
         }
     }
 
+    public void testCannotSetDeviceOwnerAgain() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        // verify that we can't set the same admin receiver as device owner again
+        assertFalse(setDeviceOwner(DEVICE_OWNER_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS));
+
+        // verify that we can't set a different admin receiver as device owner
+        try {
+            installApp(MANAGED_PROFILE_APK);
+            assertFalse(setDeviceOwner(MANAGED_PROFILE_PKG + "/" + MANAGED_PROFILE_ADMIN));
+        } finally {
+            getDevice().uninstallPackage(MANAGED_PROFILE_PKG);
+        }
+    }
+
     private void executeDeviceOwnerTest(String testClassName) throws Exception {
         if (!mHasFeature) {
             return;
@@ -135,13 +145,4 @@
         String testClass = DEVICE_OWNER_PKG + "." + testClassName;
         assertTrue(testClass + " failed.", runDeviceTests(DEVICE_OWNER_PKG, testClass));
     }
-
-    private void setDeviceOwner(String componentName) throws DeviceNotAvailableException {
-        String command = "dpm set-device-owner '" + componentName + "'";
-        String commandOutput = getDevice().executeShellCommand(command);
-        CLog.logAndDisplay(LogLevel.INFO, "Output for command " + command + ": " + commandOutput);
-        assertTrue(commandOutput + " expected to start with \"Success:\"",
-                commandOutput.startsWith("Success:"));
-    }
-
 }
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherAppsProfileTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherAppsProfileTest.java
index 43f1f5a..bb26df1 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherAppsProfileTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/LauncherAppsProfileTest.java
@@ -25,6 +25,11 @@
  */
 public class LauncherAppsProfileTest extends BaseLauncherAppsTest {
 
+    private static final String MANAGED_PROFILE_PKG = "com.android.cts.managedprofile";
+    private static final String MANAGED_PROFILE_APK = "CtsManagedProfileApp.apk";
+    private static final String ADMIN_RECEIVER_TEST_CLASS =
+            MANAGED_PROFILE_PKG + ".BaseManagedProfileTest$BasicAdminReceiver";
+
     private int mProfileUserId;
     private int mProfileSerialNumber;
     private int mMainUserSerialNumber;
@@ -39,7 +44,8 @@
             // Create a managed profile
             mProfileUserId = createManagedProfile();
             installApp(MANAGED_PROFILE_APK);
-            setProfileOwner(MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS, mProfileUserId);
+            setProfileOwnerOrFail(MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS,
+                    mProfileUserId);
             mProfileSerialNumber = getUserSerialNumber(mProfileUserId);
             mMainUserSerialNumber = getUserSerialNumber(0);
             startUser(mProfileUserId);
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/ManagedProfileTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/ManagedProfileTest.java
index 3f0805c..54b535a 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/ManagedProfileTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/ManagedProfileTest.java
@@ -30,8 +30,10 @@
     private static final String MANAGED_PROFILE_PKG = "com.android.cts.managedprofile";
     private static final String MANAGED_PROFILE_APK = "CtsManagedProfileApp.apk";
 
-    private static final String SIMPLE_APP_APK = "CtsSimpleApp.apk";
-    private static final String SIMPLE_PRE_M_APP_APK = "CtsSimplePreMApp.apk";
+    private static final String DEVICE_OWNER_PKG = "com.android.cts.deviceowner";
+    private static final String DEVICE_OWNER_APK = "CtsDeviceOwnerApp.apk";
+    private static final String DEVICE_OWNER_ADMIN =
+            DEVICE_OWNER_PKG + ".BaseDeviceOwnerTest$BasicAdminReceiver";
 
     private static final String INTENT_SENDER_PKG = "com.android.cts.intent.sender";
     private static final String INTENT_SENDER_APK = "CtsIntentSenderApp.apk";
@@ -42,12 +44,25 @@
     private static final String CERT_INSTALLER_PKG = "com.android.cts.certinstaller";
     private static final String CERT_INSTALLER_APK = "CtsCertInstallerApp.apk";
 
+    private static final String WIFI_CONFIG_CREATOR_PKG = "com.android.cts.wificonfigcreator";
+    private static final String WIFI_CONFIG_CREATOR_APK = "CtsWifiConfigCreator.apk";
+
     private static final String ADMIN_RECEIVER_TEST_CLASS =
             MANAGED_PROFILE_PKG + ".BaseManagedProfileTest$BasicAdminReceiver";
 
     private static final String FEATURE_BLUETOOTH = "android.hardware.bluetooth";
     private static final String FEATURE_CAMERA = "android.hardware.camera";
+    private static final String FEATURE_WIFI = "android.hardware.wifi";
+
+    private static final String ADD_RESTRICTION_COMMAND = "add-restriction";
+
+    private static final int USER_OWNER = 0;
+
+    // ID of the profile we'll create. This will always be a profile of USER_OWNER.
     private int mUserId;
+    private String mPackageVerifier;
+
+    private boolean mHasNfcFeature;
 
     @Override
     protected void setUp() throws Exception {
@@ -56,12 +71,14 @@
         // We need multi user to be supported in order to create a profile of the user owner.
         mHasFeature = mHasFeature && hasDeviceFeature(
                 "android.software.managed_users");
+        mHasNfcFeature = hasDeviceFeature("android.hardware.nfc");
 
         if (mHasFeature) {
             removeTestUsers();
             mUserId = createManagedProfile();
+
             installApp(MANAGED_PROFILE_APK);
-            setProfileOwner(MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS, mUserId);
+            setProfileOwnerOrFail(MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS, mUserId);
             startUser(mUserId);
         }
     }
@@ -114,6 +131,29 @@
         }
     }
 
+    /**
+     * Verify that removing a managed profile will remove all networks owned by that profile.
+     */
+    public void testProfileWifiCleanup() throws Exception {
+        if (!mHasFeature || !hasDeviceFeature(FEATURE_WIFI)) {
+            return;
+        }
+        assertTrue("WiFi config already exists and could not be removed", runDeviceTestsAsUser(
+                MANAGED_PROFILE_PKG, ".WifiTest", "testRemoveWifiNetworkIfExists", USER_OWNER));
+        try {
+            installApp(WIFI_CONFIG_CREATOR_APK);
+            assertTrue("Failed to add WiFi config", runDeviceTestsAsUser(
+                    MANAGED_PROFILE_PKG, ".WifiTest", "testAddWifiNetwork", mUserId));
+
+            // Now delete the user - should undo the effect of testAddWifiNetwork.
+            removeUser(mUserId);
+            assertTrue("WiFi config not removed after deleting profile", runDeviceTestsAsUser(
+                    MANAGED_PROFILE_PKG, ".WifiTest", "testWifiNetworkDoesNotExist", USER_OWNER));
+        } finally {
+            getDevice().uninstallPackage(WIFI_CONFIG_CREATOR_APK);
+        }
+    }
+
     public void testCrossProfileIntentFilters() throws Exception {
         if (!mHasFeature) {
             return;
@@ -135,6 +175,49 @@
         // TODO: Test with startActivity
     }
 
+    public void testAppLinks() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        // Disable all pre-existing browsers in the managed profile so they don't interfere with
+        // intents resolution.
+        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".CrossProfileUtils",
+                "testDisableAllBrowsers", mUserId));
+        installApp(INTENT_RECEIVER_APK);
+        installApp(INTENT_SENDER_APK);
+
+        changeVerificationStatus(USER_OWNER, INTENT_RECEIVER_PKG, "ask");
+        changeVerificationStatus(mUserId, INTENT_RECEIVER_PKG, "ask");
+        // We should have two receivers: IntentReceiverActivity and BrowserActivity in the
+        // managed profile
+        assertAppLinkResult("testTwoReceivers");
+
+        changeUserRestrictionForUser("allow_parent_profile_app_linking", ADD_RESTRICTION_COMMAND,
+                mUserId);
+        // Now we should also have one receiver in the primary user, so three receivers in total.
+        assertAppLinkResult("testThreeReceivers");
+
+        changeVerificationStatus(USER_OWNER, INTENT_RECEIVER_PKG, "never");
+        // The primary user one has been set to never: we should only have the managed profile ones.
+        assertAppLinkResult("testTwoReceivers");
+
+        changeVerificationStatus(mUserId, INTENT_RECEIVER_PKG, "never");
+        // Now there's only the browser in the managed profile left
+        assertAppLinkResult("testReceivedByBrowserActivityInManaged");
+
+        changeVerificationStatus(USER_OWNER, INTENT_RECEIVER_PKG, "always");
+        changeVerificationStatus(mUserId, INTENT_RECEIVER_PKG, "ask");
+        // We've set the receiver in the primary user to always: only this one should receive the
+        // intent.
+        assertAppLinkResult("testReceivedByAppLinkActivityInPrimary");
+
+        changeVerificationStatus(mUserId, INTENT_RECEIVER_PKG, "always");
+        // We have one always in the primary user and one always in the managed profile: the managed
+        // profile one should have precedence.
+        assertAppLinkResult("testReceivedByAppLinkActivityInManaged");
+    }
+
+
     public void testSettingsIntents() throws Exception {
         if (!mHasFeature) {
             return;
@@ -225,17 +308,16 @@
             return;
         }
         String restriction = "no_debugging_features";  // UserManager.DISALLOW_DEBUGGING_FEATURES
-        String command = "add-restriction";
 
         String addRestrictionCommandOutput =
-                changeUserRestrictionForUser(restriction, command, mUserId);
+                changeUserRestrictionForUser(restriction, ADD_RESTRICTION_COMMAND, mUserId);
         assertTrue("Command was expected to succeed " + addRestrictionCommandOutput,
                 addRestrictionCommandOutput.contains("Status: ok"));
 
         // This should now fail, as the shell is not available to start activities under a different
         // user once the restriction is in place.
         addRestrictionCommandOutput =
-                changeUserRestrictionForUser(restriction, command, mUserId);
+                changeUserRestrictionForUser(restriction, ADD_RESTRICTION_COMMAND, mUserId);
         assertTrue(
                 "Expected SecurityException when starting the activity "
                         + addRestrictionCommandOutput,
@@ -461,22 +543,51 @@
         }
     }
 
-    public void testPermissionGrant() throws Exception {
+    public void testCannotSetProfileOwnerAgain() throws Exception {
         if (!mHasFeature) {
             return;
         }
-        installAppAsUser(SIMPLE_APP_APK, mUserId);
-        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".PermissionsTest",
-                "testPermissionGrantState", mUserId));
+        // verify that we can't set the same admin receiver as profile owner again
+        assertFalse(setProfileOwner(
+                MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS, mUserId));
+
+        // verify that we can't set a different admin receiver as profile owner
+        try {
+            installApp(DEVICE_OWNER_APK);
+            assertFalse(setDeviceOwner(DEVICE_OWNER_PKG + "/" + DEVICE_OWNER_ADMIN));
+        } finally {
+            getDevice().uninstallPackage(DEVICE_OWNER_PKG);
+        }
     }
 
-    public void testPermissionGrantPreMApp() throws Exception {
-        if (!mHasFeature) {
+    public void testCannotSetDeviceOwnerWhenProfilePresent() throws Exception {
+        if (mHasFeature) {
+            assertFalse(setDeviceOwner(MANAGED_PROFILE_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS));
+        }
+    }
+
+    public void testNfcRestriction() throws Exception {
+        if (!mHasFeature || !mHasNfcFeature) {
             return;
         }
-        installAppAsUser(SIMPLE_PRE_M_APP_APK, mUserId);
-        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".PermissionsTest",
-                "testPermissionGrantStatePreMApp", mUserId));
+
+        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".NfcTest",
+                "testNfcShareEnabled", mUserId));
+        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".NfcTest",
+                "testNfcShareEnabled", 0));
+
+        String restriction = "no_outgoing_beam";  // UserManager.DISALLOW_OUTGOING_BEAM
+        String command = "add-restriction";
+
+        String addRestrictionCommandOutput =
+                changeUserRestrictionForUser(restriction, command, mUserId);
+        assertTrue("Command was expected to succeed " + addRestrictionCommandOutput,
+                addRestrictionCommandOutput.contains("Status: ok"));
+
+        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".NfcTest",
+                "testNfcShareDisabled", mUserId));
+        assertTrue(runDeviceTestsAsUser(MANAGED_PROFILE_PKG, ".NfcTest",
+                "testNfcShareEnabled", 0));
     }
 
     private void disableActivityForUser(String activityName, int userId)
@@ -501,4 +612,16 @@
                 "Output for command " + adbCommand + ": " + commandOutput);
         return commandOutput;
     }
+
+    // status should be one of never, undefined, ask, always
+    private void changeVerificationStatus(int userId, String packageName, String status)
+            throws DeviceNotAvailableException {
+        String command = "pm set-app-link --user " + userId + " " + packageName + " " + status;
+        CLog.logAndDisplay(LogLevel.INFO, "Output for command " + command + ": "
+                + getDevice().executeShellCommand(command));
+    }
+
+    private void assertAppLinkResult(String methodName) throws DeviceNotAvailableException {
+        assertTrue(runDeviceTestsAsUser(INTENT_SENDER_PKG, ".AppLinkTest", methodName, mUserId));
+    }
 }
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedDeviceOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedDeviceOwnerTest.java
new file mode 100644
index 0000000..b996de3
--- /dev/null
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedDeviceOwnerTest.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.devicepolicy;
+
+import com.android.ddmlib.Log.LogLevel;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.log.LogUtil.CLog;
+
+import junit.framework.AssertionFailedError;
+
+/**
+ * Set of tests for device owner use cases that also apply to profile owners.
+ * Tests that should be run identically in both cases are added in DeviceAndProfileOwnerTest.
+ */
+public class MixedDeviceOwnerTest extends DeviceAndProfileOwnerTest {
+
+    private static final String CLEAR_DEVICE_OWNER_TEST_CLASS =
+            DEVICE_ADMIN_PKG + ".ClearDeviceOwnerTest";
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        if (mHasFeature) {
+            mUserId = USER_OWNER;
+
+            installApp(DEVICE_ADMIN_APK);
+            assertTrue("Failed to set device owner",
+                    setDeviceOwner(DEVICE_ADMIN_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS));
+        }
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        if (mHasFeature) {
+            assertTrue("Failed to remove device owner.",
+                    runDeviceTests(DEVICE_ADMIN_PKG, CLEAR_DEVICE_OWNER_TEST_CLASS));
+        }
+        super.tearDown();
+    }
+
+    // All tests for this class are defined in DeviceAndProfileOwnerTest
+}
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedProfileOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedProfileOwnerTest.java
new file mode 100644
index 0000000..bcc5bf9
--- /dev/null
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/MixedProfileOwnerTest.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.devicepolicy;
+
+import com.android.ddmlib.Log.LogLevel;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.log.LogUtil.CLog;
+
+import junit.framework.AssertionFailedError;
+
+/**
+ * Set of tests for profile owner use cases that also apply to device owners.
+ * Tests that should be run identically in both cases are added in DeviceAndProfileOwnerTest.
+ */
+public class MixedProfileOwnerTest extends DeviceAndProfileOwnerTest {
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        // We need managed users to be supported in order to create a profile of the user owner.
+        mHasFeature &= hasDeviceFeature("android.software.managed_users");
+
+        if (mHasFeature) {
+            removeTestUsers();
+            mUserId = createManagedProfile();
+
+            installAppAsUser(DEVICE_ADMIN_APK, mUserId);
+            setProfileOwnerOrFail(DEVICE_ADMIN_PKG + "/" + ADMIN_RECEIVER_TEST_CLASS, mUserId);
+            startUser(mUserId);
+        }
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        if (mHasFeature) {
+            removeUser(mUserId);
+        }
+        super.tearDown();
+    }
+
+    // Most tests for this class are defined in DeviceAndProfileOwnerTest
+
+    /**
+     * Verify that screenshots are still possible for activities in the primary user when the policy
+     * is set on the profile owner.
+     */
+    public void testScreenCaptureDisabled_allowedPrimaryUser() throws Exception {
+        if (!mHasFeature) {
+            return;
+        }
+        executeDeviceTestMethod(".ScreenCaptureDisabledTest", "testSetScreenCaptureDisabled_true");
+        // start the ScreenCaptureDisabledActivity in the primary user
+        installAppAsUser(DEVICE_ADMIN_APK, USER_OWNER);
+        String command = "am start -W --user 0 " + DEVICE_ADMIN_PKG + "/"
+                + DEVICE_ADMIN_PKG + ".ScreenCaptureDisabledActivity";
+        getDevice().executeShellCommand(command);
+        executeDeviceTestMethod(".ScreenCaptureDisabledTest", "testScreenCapturePossible");
+    }
+}
diff --git a/hostsidetests/dumpsys/src/android/dumpsys/cts/DumpsysHostTest.java b/hostsidetests/dumpsys/src/android/dumpsys/cts/DumpsysHostTest.java
index cb50f16..0589792 100644
--- a/hostsidetests/dumpsys/src/android/dumpsys/cts/DumpsysHostTest.java
+++ b/hostsidetests/dumpsys/src/android/dumpsys/cts/DumpsysHostTest.java
@@ -576,10 +576,10 @@
     }
 
     private void checkKernelWakelock(String[] parts) {
-        assertEquals(7, parts.length);
-        assertNotNull(parts[4]); // kernel wakelock
-        assertInteger(parts[5]); // totalTime
-        assertInteger(parts[6]); // count
+        assertTrue(parts.length >= 7);
+	assertNotNull(parts[4]); // Kernel wakelock
+	assertInteger(parts[parts.length-2]); // totalTime
+        assertInteger(parts[parts.length-1]); // count
     }
 
     private void checkWakeupReason(String[] parts) {
@@ -648,23 +648,22 @@
     }
 
     private void checkMisc(String[] parts) {
-        assertTrue(parts.length >= 20);
+        assertTrue(parts.length >= 19);
         assertInteger(parts[4]);      // screenOnTime
         assertInteger(parts[5]);      // phoneOnTime
-        assertInteger(parts[6]);      // wifiOnTime
-        assertInteger(parts[7]);      // wifiRunningTime
-        assertInteger(parts[8]);      // bluetoothOnTime
-        assertInteger(parts[9]);      // mobileRxTotalBytes
-        assertInteger(parts[10]);     // mobileTxTotalBytes
-        assertInteger(parts[11]);     // wifiRxTotalBytes
-        assertInteger(parts[12]);     // wifiTxTotalBytes
-        assertInteger(parts[13]);     // fullWakeLockTimeTotal
-        assertInteger(parts[14]);     // partialWakeLockTimeTotal
-        assertEquals("0", parts[15]); // legacy input event count
-        assertInteger(parts[16]);     // mobileRadioActiveTime
-        assertInteger(parts[17]);     // mobileRadioActiveAdjustedTime
-        assertInteger(parts[18]);     // interactiveTime
-        assertInteger(parts[19]);     // lowPowerModeEnabledTime
+        assertInteger(parts[6]);      // fullWakeLockTimeTotal
+        assertInteger(parts[7]);      // partialWakeLockTimeTotal
+        assertInteger(parts[8]);      // mobileRadioActiveTime
+        assertInteger(parts[9]);      // mobileRadioActiveAdjustedTime
+        assertInteger(parts[10]);     // interactiveTime
+        assertInteger(parts[11]);     // lowPowerModeEnabledTime
+        assertInteger(parts[12]);     // connChanges
+        assertInteger(parts[13]);     // deviceIdleModeEnabledTime
+        assertInteger(parts[14]);     // deviceIdleModeEnabledCount
+        assertInteger(parts[15]);     // deviceIdlingTime
+        assertInteger(parts[16]);     // deviceIdlingCount
+        assertInteger(parts[17]);     // mobileRadioActiveCount
+        assertInteger(parts[18]);     // mobileRadioActiveUnknownTime
     }
 
     private void checkGlobalNetwork(String[] parts) {
@@ -689,7 +688,7 @@
     }
 
     private void checkSignalStrength(String[] parts) {
-        assertEquals(9, parts.length);
+        assertTrue(parts.length >= 9);
         assertInteger(parts[4]); // none
         assertInteger(parts[5]); // poor
         assertInteger(parts[6]); // moderate
@@ -784,13 +783,14 @@
     }
 
     private void checkChargeDischargeStep(String[] parts) {
-        assertEquals(8, parts.length);
+        assertEquals(9, parts.length);
         assertInteger(parts[4]); // duration
         if (!parts[5].equals("?")) {
             assertInteger(parts[5]); // level
         }
         assertNotNull(parts[6]); // screen
         assertNotNull(parts[7]); // power-save
+        assertNotNull(parts[8]); // device-idle
     }
 
     private void checkDischargeTimeRemain(String[] parts) {
diff --git a/hostsidetests/monkey/src/com/android/cts/monkey/SeedTest.java b/hostsidetests/monkey/src/com/android/cts/monkey/SeedTest.java
index d070972..a0016e2 100644
--- a/hostsidetests/monkey/src/com/android/cts/monkey/SeedTest.java
+++ b/hostsidetests/monkey/src/com/android/cts/monkey/SeedTest.java
@@ -16,8 +16,6 @@
 
 package com.android.cts.monkey;
 
-import com.android.tradefed.log.LogUtil.CLog;
-
 import java.util.Scanner;
 
 public class SeedTest extends AbstractMonkeyTest {
@@ -26,15 +24,11 @@
         String cmd1 = MONKEY_CMD + " -s 1337 -v -p " + PKGS[0] + " 500";
         String out1 = mDevice.executeShellCommand(cmd1);
         String out2 = mDevice.executeShellCommand(cmd1);
-        CLog.d("monkey output1: %s", out1);
-        CLog.d("monkey output2: %s", out2);
         assertOutputs(out1, out2);
 
         String cmd2 = MONKEY_CMD + " -s 3007 -v -p " + PKGS[0] + " 125";
         String out3 = mDevice.executeShellCommand(cmd2);
         String out4 = mDevice.executeShellCommand(cmd2);
-        CLog.d("monkey output3: %s", out3);
-        CLog.d("monkey output4: %s", out4);
         assertOutputs(out3, out4);
     }
 
diff --git a/hostsidetests/monkey/test-apps/CtsMonkeyApp/AndroidManifest.xml b/hostsidetests/monkey/test-apps/CtsMonkeyApp/AndroidManifest.xml
index a3dfc83..efb1288 100644
--- a/hostsidetests/monkey/test-apps/CtsMonkeyApp/AndroidManifest.xml
+++ b/hostsidetests/monkey/test-apps/CtsMonkeyApp/AndroidManifest.xml
@@ -18,14 +18,18 @@
 
     <application android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
 
-        <activity android:name=".MonkeyActivity">
+        <activity
+            android:name=".MonkeyActivity"
+            android:screenOrientation="locked">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
-        
-        <activity android:name=".BaboonActivity">
+
+        <activity
+            android:name=".BaboonActivity"
+            android:screenOrientation="locked">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.MONKEY" />
diff --git a/hostsidetests/usage/Android.mk b/hostsidetests/usage/Android.mk
new file mode 100644
index 0000000..917528b
--- /dev/null
+++ b/hostsidetests/usage/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_MODULE_TAGS := optional
+
+# Must match the package name in CtsTestCaseList.mk
+LOCAL_MODULE := CtsUsageHostTestCases
+
+LOCAL_JAVA_LIBRARIES := cts-tradefed tradefed-prebuilt
+
+LOCAL_CTS_TEST_PACKAGE := android.host.app.usage
+
+include $(BUILD_CTS_HOST_JAVA_LIBRARY)
+
+include $(call all-subdir-makefiles)
diff --git a/hostsidetests/usage/app/Android.mk b/hostsidetests/usage/app/Android.mk
new file mode 100644
index 0000000..b23efbc
--- /dev/null
+++ b/hostsidetests/usage/app/Android.mk
@@ -0,0 +1,28 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# Don't include this package in any target.
+LOCAL_MODULE_TAGS := tests
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_SDK_VERSION := current
+
+LOCAL_PACKAGE_NAME := CtsDeviceAppUsageTestApp
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/hostsidetests/usage/app/AndroidManifest.xml b/hostsidetests/usage/app/AndroidManifest.xml
new file mode 100755
index 0000000..bad453f
--- /dev/null
+++ b/hostsidetests/usage/app/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.cts.app.usage.test">
+
+    <application>
+        <activity android:name=".TestActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
+
diff --git a/tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java b/hostsidetests/usage/app/src/com/android/cts/app/usage/test/TestActivity.java
similarity index 67%
rename from tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java
rename to hostsidetests/usage/app/src/com/android/cts/app/usage/test/TestActivity.java
index accdcaf..9432477 100644
--- a/tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java
+++ b/hostsidetests/usage/app/src/com/android/cts/app/usage/test/TestActivity.java
@@ -1,5 +1,5 @@
 /*
- * Copyright 2015 The Android Open Source Project
+ * Copyright (C) 2015 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,12 +14,9 @@
  * limitations under the License.
  */
 
-package android.hardware.input.cts;
+package com.android.cts.app.usage.test;
 
-import android.view.KeyEvent;
-import android.view.MotionEvent;
+import android.app.Activity;
 
-public interface InputCallback {
-    public void onKeyEvent(KeyEvent ev);
-    public void onMotionEvent(MotionEvent ev);
-}
+public class TestActivity extends Activity {
+}
\ No newline at end of file
diff --git a/hostsidetests/usage/src/com/android/cts/app/usage/AppIdleHostTest.java b/hostsidetests/usage/src/com/android/cts/app/usage/AppIdleHostTest.java
new file mode 100644
index 0000000..f24be0e
--- /dev/null
+++ b/hostsidetests/usage/src/com/android/cts/app/usage/AppIdleHostTest.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.cts.app.usage;
+
+import com.android.cts.tradefed.build.CtsBuildHelper;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.device.ITestDevice;
+import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.testtype.IBuildReceiver;
+
+public class AppIdleHostTest extends DeviceTestCase implements IBuildReceiver {
+    private static final String SETTINGS_APP_IDLE_CONSTANTS = "app_idle_constants";
+
+    private static final String TEST_APP_PACKAGE = "com.android.cts.app.usage.test";
+    private static final String TEST_APP_APK = "CtsDeviceAppUsageTestApp.apk";
+    private static final String TEST_APP_CLASS = "TestActivity";
+
+    private static final long ACTIVITY_LAUNCH_WAIT_MILLIS = 500;
+
+    /**
+     * A reference to the build.
+     */
+    private CtsBuildHelper mBuild;
+
+    /**
+     * A reference to the device under test.
+     */
+    private ITestDevice mDevice;
+
+    @Override
+    public void setBuild(IBuildInfo buildInfo) {
+        // Get the build, this is used to access the APK.
+        mBuild = CtsBuildHelper.createBuildHelper(buildInfo);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        // Get the device, this gives a handle to run commands and install APKs.
+        mDevice = getDevice();
+
+        // Remove any previously installed versions of this APK.
+        mDevice.uninstallPackage(TEST_APP_PACKAGE);
+
+        // Install the APK on the device.
+        mDevice.installPackage(mBuild.getTestApp(TEST_APP_APK), false);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        // Remove the package once complete.
+        mDevice.uninstallPackage(TEST_APP_PACKAGE);
+        super.tearDown();
+    }
+
+    /**
+     * Checks whether an package is idle.
+     * @param appPackage The package to check for idleness.
+     * @return true if the package is idle
+     * @throws DeviceNotAvailableException
+     */
+    private boolean isAppIdle(String appPackage) throws DeviceNotAvailableException {
+        String result = mDevice.executeShellCommand(String.format("am get-inactive %s", appPackage));
+        return result.contains("Idle=true");
+    }
+
+    /**
+     * Set the app idle settings.
+     * @param settingsStr The settings string, a comma separated key=value list.
+     * @throws DeviceNotAvailableException
+     */
+    private void setAppIdleSettings(String settingsStr) throws DeviceNotAvailableException {
+        mDevice.executeShellCommand(String.format("settings put global %s \"%s\"",
+                SETTINGS_APP_IDLE_CONSTANTS, settingsStr));
+    }
+
+    /**
+     * Get the current app idle settings.
+     * @throws DeviceNotAvailableException
+     */
+    private String getAppIdleSettings() throws DeviceNotAvailableException {
+        String result = mDevice.executeShellCommand(String.format("settings get global %s",
+                SETTINGS_APP_IDLE_CONSTANTS));
+        return result.trim();
+    }
+
+    /**
+     * Launch the test app for a few hundred milliseconds then launch home.
+     * @throws DeviceNotAvailableException
+     */
+    private void startAndStopTestApp() throws DeviceNotAvailableException {
+        // Launch the app.
+        mDevice.executeShellCommand(
+                String.format("am start -W -a android.intent.action.MAIN -n %s/%s.%s",
+                        TEST_APP_PACKAGE, TEST_APP_PACKAGE, TEST_APP_CLASS));
+
+        // Wait for some time.
+        sleepUninterrupted(ACTIVITY_LAUNCH_WAIT_MILLIS);
+
+        // Launch home.
+        mDevice.executeShellCommand(
+                "am start -W -a android.intent.action.MAIN -c android.intent.category.HOME");
+    }
+
+    /**
+     * Tests that the app is idle when the idle threshold is passed, and that the app is not-idle
+     * before the threshold is passed.
+     *
+     * @throws Exception
+     */
+    public void testAppIsIdle() throws Exception {
+        final String previousState = getAppIdleSettings();
+        try {
+            // Set the app idle time to be super low.
+            setAppIdleSettings("idle_duration=5,wallclock_threshold=5");
+            startAndStopTestApp();
+            assertTrue(isAppIdle(TEST_APP_PACKAGE));
+
+            // Set the app idle time to something larger.
+            setAppIdleSettings("idle_duration=10000,wallclock_threshold=10000");
+            startAndStopTestApp();
+            assertFalse(isAppIdle(TEST_APP_PACKAGE));
+        } finally {
+            setAppIdleSettings(previousState);
+        }
+    }
+
+    private static void sleepUninterrupted(long timeMillis) {
+        boolean interrupted;
+        do {
+            try {
+                Thread.sleep(timeMillis);
+                interrupted = false;
+            } catch (InterruptedException e) {
+                interrupted = true;
+            }
+        } while (interrupted);
+    }
+}
diff --git a/libs/deviceutil/src/android/cts/util/LocationUtils.java b/libs/deviceutil/src/android/cts/util/LocationUtils.java
new file mode 100644
index 0000000..1f7af86
--- /dev/null
+++ b/libs/deviceutil/src/android/cts/util/LocationUtils.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+
+package android.cts.util;
+
+import android.app.Instrumentation;
+import android.util.Log;
+
+import java.io.IOException;
+
+public class LocationUtils {
+    private static String TAG = "LocationUtils";
+
+    public static void registerMockLocationProvider(Instrumentation instrumentation,
+            boolean enable) {
+        StringBuilder command = new StringBuilder();
+        command.append("appops set ");
+        command.append(instrumentation.getContext().getPackageName());
+        command.append(" android:mock_location ");
+        command.append(enable ? "allow" : "deny");
+        try {
+            SystemUtil.runShellCommand(instrumentation, command.toString());
+        } catch (IOException e) {
+            Log.e(TAG, "Error managing mock location app. Command: " + command, e);
+        }
+    }
+}
diff --git a/libs/deviceutil/src/android/cts/util/MediaUtils.java b/libs/deviceutil/src/android/cts/util/MediaUtils.java
old mode 100644
new mode 100755
index 4ec84ce..7e2bfe3
--- a/libs/deviceutil/src/android/cts/util/MediaUtils.java
+++ b/libs/deviceutil/src/android/cts/util/MediaUtils.java
@@ -26,9 +26,15 @@
 import android.media.MediaFormat;
 import android.net.Uri;
 import android.util.Range;
+
+import com.android.cts.util.ReportLog;
+import com.android.cts.util.ResultType;
+import com.android.cts.util.ResultUnit;
+
 import java.lang.reflect.Method;
 import static java.lang.reflect.Modifier.isPublic;
 import static java.lang.reflect.Modifier.isStatic;
+import java.util.Arrays;
 import java.util.Map;
 import android.util.Log;
 
@@ -143,6 +149,17 @@
         return result;
     }
 
+    public static MediaCodec getDecoder(MediaFormat format) {
+        String decoder = sMCL.findDecoderForFormat(format);
+        if (decoder != null) {
+            try {
+                return MediaCodec.createByCodecName(decoder);
+            } catch (IOException e) {
+            }
+        }
+        return null;
+    }
+
     public static boolean canDecode(MediaFormat format) {
         if (sMCL.findDecoderForFormat(format) == null) {
             Log.i(TAG, "no decoder for " + format);
@@ -399,4 +416,125 @@
 
         return extractor;
     }
+
+    /**
+     * return the average value of the passed array.
+     */
+    public static double getAverage(double[] data) {
+        int num = data.length;
+        if (num == 0) {
+            return 0;
+        }
+
+        double sum = data[0];
+        for (int i = 1; i < num; i++) {
+            sum += data[i];
+        }
+        return sum / num;
+    }
+
+    /**
+     * return the standard deviation value of the passed array
+     */
+    public static double getStdev(double[] data) {
+        double average = getAverage(data);
+        int num = data.length;
+        if (num == 0) {
+            return 0;
+        }
+        double variance = 0;
+        for (int i = 0; i < num; ++i) {
+            variance += (data[i] - average) * (data[i] - average);
+        }
+        variance /= num;
+        return Math.sqrt(variance);
+    }
+
+    public static double[] calculateMovingAverage(double[] array, int n) {
+        int num = array.length;
+        if (num < n) {
+            return null;
+        }
+        int avgsNum = num - n + 1;
+        double[] avgs = new double[avgsNum];
+        double sum = array[0];
+        for (int i = 1; i < n; ++i) {
+            sum += array[i];
+        }
+        avgs[0] = sum / n;
+
+        for (int i = n; i < num; ++i) {
+            sum = sum - array[i - n] + array[i];
+            avgs[i - n + 1] = sum / n;
+        }
+        return avgs;
+    }
+
+    public static String logResults(ReportLog log, String prefix,
+            double min, double max, double avg, double stdev) {
+        String msg = prefix;
+        msg += " min=" + Math.round(min / 1000) + " max=" + Math.round(max / 1000) +
+                " avg=" + Math.round(avg / 1000) + " stdev=" + Math.round(stdev / 1000);
+        log.printValue(msg, 1000000000 / min, ResultType.HIGHER_BETTER, ResultUnit.FPS);
+        return msg;
+    }
+
+    public static VideoCapabilities getVideoCapabilities(String codecName, String mime) {
+        for (MediaCodecInfo info : sMCL.getCodecInfos()) {
+            if (!info.getName().equalsIgnoreCase(codecName)) {
+                continue;
+            }
+            CodecCapabilities caps;
+            try {
+                caps = info.getCapabilitiesForType(mime);
+            } catch (IllegalArgumentException e) {
+                // mime is not supported
+                continue;
+            }
+            return caps.getVideoCapabilities();
+        }
+        return null;
+    }
+
+    public static Range<Double> getAchievableFrameRatesFor(
+            String codecName, String mimeType, int width, int height) {
+        VideoCapabilities cap = getVideoCapabilities(codecName, mimeType);
+        if (cap == null) {
+            return null;
+        }
+        return cap.getAchievableFrameRatesFor(width, height);
+    }
+
+    private static final double FRAMERATE_TOLERANCE = Math.sqrt(12.1);
+    public static boolean verifyResults(String name, String mime, int w, int h, double measured) {
+        Range<Double> reported = getAchievableFrameRatesFor(name, mime, w, h);
+        if (reported == null) {
+            Log.d(TAG, "Failed to getAchievableFrameRatesFor " +
+                    name + " " + mime + " " + w + "x" + h);
+            return false;
+        }
+        double lowerBoundary1 = reported.getLower() / FRAMERATE_TOLERANCE;
+        double upperBoundary1 = reported.getUpper() * FRAMERATE_TOLERANCE;
+        double lowerBoundary2 = reported.getUpper() / Math.pow(FRAMERATE_TOLERANCE, 2);
+        double upperBoundary2 = reported.getLower() * Math.pow(FRAMERATE_TOLERANCE, 2);
+        Log.d(TAG, name + " " + mime + " " + w + "x" + h + " " +
+                "lowerBoundary1 " + lowerBoundary1 + " upperBoundary1 " + upperBoundary1 +
+                " lowerBoundary2 " + lowerBoundary2 + " upperBoundary2 " + upperBoundary2 +
+                " measured " + measured);
+        return (measured >= lowerBoundary1 && measured <= upperBoundary1 &&
+                measured >= lowerBoundary2 && measured <= upperBoundary2);
+    }
+
+    public static String getErrorMessage(
+            Range<Double> reportedRange, double[] measuredFps, String[] rawData) {
+        String msg = "";
+        if (reportedRange == null) {
+            msg += "Failed to get achievable frame rate.\n";
+        } else {
+            msg += "Expected achievable frame rate range: " + reportedRange + ".\n";
+        }
+        msg += "Measured frame rate: " + Arrays.toString(measuredFps) + ".\n";
+        msg += "Raw data: " + Arrays.toString(rawData) + ".\n";
+        return msg;
+    }
 }
diff --git a/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java b/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
index 286d4fd..f9daa3c 100644
--- a/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
+++ b/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
@@ -80,7 +80,7 @@
     @TimeoutReq(minutes = 8)
     public void testChannels() throws Exception {
         if (!mHasTvInputFramework) return;
-        double[] averages = new double[4];
+        double[] averages = new double[5];
 
         // Insert
         final ArrayList<ContentProviderOperation> operations = new ArrayList<>();
@@ -138,23 +138,42 @@
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
         averages[1] = Stat.getAverage(applyBatchTimes);
 
-        // Query
+        // Query channels
         applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
             @Override
             public void run(int i) {
-                int j = 0;
                 try (Cursor cursor = mContentResolver.query(Channels.CONTENT_URI, null, null,
                         null, null)) {
                     while (cursor.moveToNext()) {
-                        ++j;
+                        // Do nothing. Just iterate all the items.
                     }
                 }
             }
         });
-        getReportLog().printArray("Elapsed time for query: ",
+        getReportLog().printArray("Elapsed time for query (channels): ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
         averages[2] = Stat.getAverage(applyBatchTimes);
 
+        // Query a channel
+        try (final Cursor cursor = mContentResolver.query(Channels.CONTENT_URI,
+                projection, null, null, null)) {
+            final Uri channelUri = TvContract.buildChannelUri(cursor.getLong(0));
+            applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
+                @Override
+                public void run(int i) {
+                    assertTrue(cursor.moveToNext());
+                    try (Cursor c = mContentResolver.query(channelUri, null, null, null, null)) {
+                        while (c.moveToNext()) {
+                            // Do nothing. Just iterate all the items.
+                        }
+                    }
+                }
+            });
+        }
+        getReportLog().printArray("Elapsed time for query (a channel): ",
+                applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
+        averages[3] = Stat.getAverage(applyBatchTimes);
+
         // Delete
         applyBatchTimes = MeasureTime.measure(1, new MeasureRun() {
             @Override
@@ -164,16 +183,17 @@
         });
         getReportLog().printArray("Elapsed time for delete: ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
-        averages[3] = Stat.getAverage(applyBatchTimes);
+        averages[4] = Stat.getAverage(applyBatchTimes);
 
-        getReportLog().printArray("Average elapsed time for (insert, update, query, delete): ",
+        getReportLog().printArray("Average elapsed time for insert, update, query (channels), "
+                + "query (a channel), delete: ",
                 averages, ResultType.LOWER_BETTER, ResultUnit.MS);
     }
 
     @TimeoutReq(minutes = 12)
     public void testPrograms() throws Exception {
         if (!mHasTvInputFramework) return;
-        double[] averages = new double[6];
+        double[] averages = new double[7];
 
         // Prepare (insert channels)
         final ArrayList<ContentProviderOperation> operations = new ArrayList<>();
@@ -262,20 +282,19 @@
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
         averages[1] = Stat.getAverage(applyBatchTimes);
 
-        // Query
+        // Query programs
         applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
             @Override
             public void run(int i) {
-                int j = 0;
                 try (Cursor cursor = mContentResolver.query(Programs.CONTENT_URI, null, null,
                         null, null)) {
                     while (cursor.moveToNext()) {
-                        ++j;
+                        // Do nothing. Just iterate all the items.
                     }
                 }
             }
         });
-        getReportLog().printArray("Elapsed time for query: ",
+        getReportLog().printArray("Elapsed time for query (programs): ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
         averages[2] = Stat.getAverage(applyBatchTimes);
 
@@ -284,22 +303,41 @@
             @Override
             public void run(int i) {
                 Uri channelUri = channelUris.get(i);
-                int j = 0;
                 try (Cursor cursor = mContentResolver.query(
                         TvContract.buildProgramsUriForChannel(
                                 channelUri, 0,
                                 PROGRAM_DURATION_MS * TRANSACTION_SIZE / 2),
                         null, null, null, null)) {
                     while (cursor.moveToNext()) {
-                        ++j;
+                        // Do nothing. Just iterate all the items.
                     }
                 }
             }
         });
-        getReportLog().printArray("Elapsed time for query with selection: ",
+        getReportLog().printArray("Elapsed time for query (programs with selection): ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
         averages[3] = Stat.getAverage(applyBatchTimes);
 
+        // Query a program
+        try (final Cursor cursor = mContentResolver.query(Programs.CONTENT_URI,
+                projection, null, null, null)) {
+            final Uri programUri = TvContract.buildProgramUri(cursor.getLong(0));
+            applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
+                @Override
+                public void run(int i) {
+                    assertTrue(cursor.moveToNext());
+                    try (Cursor c = mContentResolver.query(programUri, null, null, null, null)) {
+                        while (c.moveToNext()) {
+                            // Do nothing. Just iterate all the items.
+                        }
+                    }
+                }
+            });
+        }
+        getReportLog().printArray("Elapsed time for query (a program): ",
+                applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
+        averages[4] = Stat.getAverage(applyBatchTimes);
+
         // Delete programs
         applyBatchTimes = MeasureTime.measure(NUM_CHANNELS, new MeasureRun() {
             @Override
@@ -315,7 +353,7 @@
         });
         getReportLog().printArray("Elapsed time for delete programs: ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
-        averages[4] = Stat.getAverage(applyBatchTimes);
+        averages[5] = Stat.getAverage(applyBatchTimes);
 
         // Delete channels
         applyBatchTimes = MeasureTime.measure(NUM_CHANNELS, new MeasureRun() {
@@ -327,10 +365,11 @@
         });
         getReportLog().printArray("Elapsed time for delete channels: ",
                 applyBatchTimes, ResultType.LOWER_BETTER, ResultUnit.MS);
-        averages[5] = Stat.getAverage(applyBatchTimes);
+        averages[6] = Stat.getAverage(applyBatchTimes);
 
-        getReportLog().printArray("Average elapsed time for (insert, update, query, "
-                + "query with selection, delete channels, delete programs): ",
+        getReportLog().printArray("Average elapsed time for insert, update, query (programs), "
+                + "query (programs with selection), query (a channel), delete (channels), "
+                + "delete (programs): ",
                 averages, ResultType.LOWER_BETTER, ResultUnit.MS);
     }
 }
diff --git a/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/CodecInfo.java b/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/CodecInfo.java
index 88b005a..ccb3126 100644
--- a/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/CodecInfo.java
+++ b/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/CodecInfo.java
@@ -93,22 +93,6 @@
         return info;
     }
 
-    public static Range<Double> getAchievableFrameRatesFor(
-            String codecName, String mimeType, int width, int height) {
-        MediaCodec codec;
-        try {
-            codec = MediaCodec.createByCodecName(codecName);
-        } catch (IOException e) {
-            return null;
-        }
-
-        VideoCapabilities cap =
-            codec.getCodecInfo().getCapabilitiesForType(mimeType).getVideoCapabilities();
-        Range<Double> results = cap.getAchievableFrameRatesFor(width, height);
-        codec.release();
-        return results;
-    }
-
     // for debugging
     private static void printIntArray(String msg, int[] data) {
         StringBuilder builder = new StringBuilder();
diff --git a/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/VideoEncoderDecoderTest.java b/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/VideoEncoderDecoderTest.java
index eb0e784..62f37c5 100644
--- a/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/VideoEncoderDecoderTest.java
+++ b/suite/cts/deviceTests/videoperf/src/com/android/cts/videoperf/VideoEncoderDecoderTest.java
@@ -16,6 +16,8 @@
 
 package com.android.cts.videoperf;
 
+import android.cts.util.MediaUtils;
+import android.cts.util.DeviceReportLog;
 import android.graphics.ImageFormat;
 import android.graphics.Point;
 import android.media.cts.CodecImage;
@@ -37,6 +39,7 @@
 import com.android.cts.util.ResultType;
 import com.android.cts.util.ResultUnit;
 import com.android.cts.util.Stat;
+import com.android.cts.util.TimeoutReq;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
@@ -69,10 +72,11 @@
     private static final String VIDEO_H263 = MediaFormat.MIMETYPE_VIDEO_H263;
     private static final String VIDEO_MPEG4 = MediaFormat.MIMETYPE_VIDEO_MPEG4;
     private int mCurrentTestRound = 0;
-    private long[][] mEncoderFrameTimeDiff = null;
-    private long[][] mDecoderFrameTimeDiff = null;
+    private double[][] mEncoderFrameTimeDiff = null;
+    private double[][] mDecoderFrameTimeDiff = null;
     // i frame interval for encoder
     private static final int KEY_I_FRAME_INTERVAL = 5;
+    private static final int MOVING_AVERAGE_NUM = 10;
 
     private static final int Y_CLAMP_MIN = 16;
     private static final int Y_CLAMP_MAX = 235;
@@ -87,6 +91,10 @@
     private int mVideoHeight;
     private int mFrameRate;
 
+    private MediaFormat mEncInputFormat;
+    private MediaFormat mEncOutputFormat;
+    private MediaFormat mDecOutputFormat;
+
     private LinkedList<Pair<ByteBuffer, BufferInfo>> mEncodedOutputBuffer;
     // check this many pixels per each decoded frame
     // checking too many points decreases decoder frame rates a lot.
@@ -101,11 +109,14 @@
         public boolean mTestResult = false;
         public boolean mReportFrameTime = false;
         public int mTotalFrames = 300;
+        public int mMaxTimeMs = 120000;  // 2 minutes
         public int mNumberOfRepeat = 10;
     }
 
     private TestConfig mTestConfig;
 
+    private DeviceReportLog mReportLog;
+
     @Override
     protected void setUp() throws Exception {
         mEncodedOutputBuffer = new LinkedList<Pair<ByteBuffer, BufferInfo>>();
@@ -113,6 +124,7 @@
         long now = System.currentTimeMillis();
         mRandom = new Random(now);
         mTestConfig = new TestConfig();
+        mReportLog = new DeviceReportLog();
         super.setUp();
     }
 
@@ -126,6 +138,7 @@
         mUVDirectBuffer = null;
         mRandom = null;
         mTestConfig = null;
+        mReportLog.deliverReportToHost(getInstrumentation());
         super.tearDown();
     }
 
@@ -223,18 +236,22 @@
         doTestGoog(VIDEO_AVC, 720, 480);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testAvc1280x0720Other() throws Exception {
         doTestOther(VIDEO_AVC, 1280, 720);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testAvc1280x0720Goog() throws Exception {
         doTestGoog(VIDEO_AVC, 1280, 720);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testAvc1920x1080Other() throws Exception {
         doTestOther(VIDEO_AVC, 1920, 1080);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testAvc1920x1080Goog() throws Exception {
         doTestGoog(VIDEO_AVC, 1920, 1080);
     }
@@ -256,18 +273,22 @@
         doTestGoog(VIDEO_VP8, 640, 360);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testVp81280x0720Other() throws Exception {
         doTestOther(VIDEO_VP8, 1280, 720);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testVp81280x0720Goog() throws Exception {
         doTestGoog(VIDEO_VP8, 1280, 720);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testVp81920x1080Other() throws Exception {
         doTestOther(VIDEO_VP8, 1920, 1080);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testVp81920x1080Goog() throws Exception {
         doTestGoog(VIDEO_VP8, 1920, 1080);
     }
@@ -314,10 +335,12 @@
         doTestGoog(VIDEO_MPEG4, 640, 480);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testMpeg41280x0720Other() throws Exception {
         doTestOther(VIDEO_MPEG4, 1280, 720);
     }
 
+    @TimeoutReq(minutes = 10)
     public void testMpeg41280x0720Goog() throws Exception {
         doTestGoog(VIDEO_MPEG4, 1280, 720);
     }
@@ -351,7 +374,7 @@
 
     private void doTestGoog(String mimeType, int w, int h) throws Exception {
         mTestConfig.mTestPixels = false;
-        mTestConfig.mReportFrameTime = true;
+        mTestConfig.mTestResult = true;
         mTestConfig.mTotalFrames = 3000;
         mTestConfig.mNumberOfRepeat = 2;
         doTest(true /* isGoog */, mimeType, w, h);
@@ -360,7 +383,6 @@
     private void doTestOther(String mimeType, int w, int h) throws Exception {
         mTestConfig.mTestPixels = false;
         mTestConfig.mTestResult = true;
-        mTestConfig.mReportFrameTime = true;
         mTestConfig.mTotalFrames = 3000;
         mTestConfig.mNumberOfRepeat = 2;
         doTest(false /* isGoog */, mimeType, w, h);
@@ -432,8 +454,10 @@
                    ", dec format " + mDstColorFormat);
 
         initYUVPlane(w + YUV_PLANE_ADDITIONAL_LENGTH, h + YUV_PLANE_ADDITIONAL_LENGTH);
-        mEncoderFrameTimeDiff = new long[mTestConfig.mNumberOfRepeat][mTestConfig.mTotalFrames - 1];
-        mDecoderFrameTimeDiff = new long[mTestConfig.mNumberOfRepeat][mTestConfig.mTotalFrames - 1];
+        mEncoderFrameTimeDiff =
+                new double[mTestConfig.mNumberOfRepeat][mTestConfig.mTotalFrames - 1];
+        mDecoderFrameTimeDiff =
+                new double[mTestConfig.mNumberOfRepeat][mTestConfig.mTotalFrames - 1];
         double[] encoderFpsResults = new double[mTestConfig.mNumberOfRepeat];
         double[] decoderFpsResults = new double[mTestConfig.mNumberOfRepeat];
         double[] totalFpsResults = new double[mTestConfig.mNumberOfRepeat];
@@ -475,20 +499,25 @@
             // it will be good to clean everything to make every run the same.
             System.gc();
         }
-        getReportLog().printArray("encoder", encoderFpsResults, ResultType.HIGHER_BETTER,
+        mReportLog.printArray("encoder", encoderFpsResults, ResultType.HIGHER_BETTER,
                 ResultUnit.FPS);
-        getReportLog().printArray("rms error", decoderRmsErrorResults, ResultType.LOWER_BETTER,
+        mReportLog.printArray("rms error", decoderRmsErrorResults, ResultType.LOWER_BETTER,
                 ResultUnit.NONE);
-        getReportLog().printArray("decoder", decoderFpsResults, ResultType.HIGHER_BETTER,
+        mReportLog.printArray("decoder", decoderFpsResults, ResultType.HIGHER_BETTER,
                 ResultUnit.FPS);
-        getReportLog().printArray("encoder decoder", totalFpsResults, ResultType.HIGHER_BETTER,
+        mReportLog.printArray("encoder decoder", totalFpsResults, ResultType.HIGHER_BETTER,
                 ResultUnit.FPS);
-        getReportLog().printValue(mimeType + " encoder average fps for " + w + "x" + h,
+        mReportLog.printValue(mimeType + " encoder average fps for " + w + "x" + h,
                 Stat.getAverage(encoderFpsResults), ResultType.HIGHER_BETTER, ResultUnit.FPS);
-        getReportLog().printValue(mimeType + " decoder average fps for " + w + "x" + h,
+        mReportLog.printValue(mimeType + " decoder average fps for " + w + "x" + h,
                 Stat.getAverage(decoderFpsResults), ResultType.HIGHER_BETTER, ResultUnit.FPS);
-        getReportLog().printSummary("encoder decoder", Stat.getAverage(totalFpsResults),
+        mReportLog.printSummary("encoder decoder", Stat.getAverage(totalFpsResults),
                 ResultType.HIGHER_BETTER, ResultUnit.FPS);
+
+        boolean encTestPassed = false;
+        boolean decTestPassed = false;
+        double[] measuredFps = new double[mTestConfig.mNumberOfRepeat];
+        String[] resultRawData = new String[mTestConfig.mNumberOfRepeat];
         for (int i = 0; i < mTestConfig.mNumberOfRepeat; i++) {
             // make sure that rms error is not too big.
             if (decoderRmsErrorResults[i] >= mRmsErrorMargain) {
@@ -497,35 +526,67 @@
             }
 
             if (mTestConfig.mReportFrameTime) {
-                getReportLog().printValue(
+                mReportLog.printValue(
                         "encodertest#" + i + ": " + Arrays.toString(mEncoderFrameTimeDiff[i]),
                         0, ResultType.NEUTRAL, ResultUnit.NONE);
-                getReportLog().printValue(
+                mReportLog.printValue(
                         "decodertest#" + i + ": " + Arrays.toString(mDecoderFrameTimeDiff[i]),
                         0, ResultType.NEUTRAL, ResultUnit.NONE);
             }
+
+            if (mTestConfig.mTestResult) {
+                double[] avgs = MediaUtils.calculateMovingAverage(
+                        mEncoderFrameTimeDiff[i], MOVING_AVERAGE_NUM);
+                double encMin = Stat.getMin(avgs);
+                double encMax = Stat.getMax(avgs);
+                double encAvg = MediaUtils.getAverage(mEncoderFrameTimeDiff[i]);
+                double encStdev = MediaUtils.getStdev(avgs);
+                String prefix = "codec=" + encoderName + " round=" + i +
+                        " EncInputFormat=" + mEncInputFormat +
+                        " EncOutputFormat=" + mEncOutputFormat;
+                String result =
+                        MediaUtils.logResults(mReportLog, prefix, encMin, encMax, encAvg, encStdev);
+                double measuredEncFps = 1000000000 / encMin;
+                resultRawData[i] = result;
+                measuredFps[i] = measuredEncFps;
+                if (!encTestPassed) {
+                    encTestPassed = MediaUtils.verifyResults(
+                            encoderName, mimeType, w, h, measuredEncFps);
+                }
+
+                avgs = MediaUtils.calculateMovingAverage(
+                        mDecoderFrameTimeDiff[i], MOVING_AVERAGE_NUM);
+                double decMin = Stat.getMin(avgs);
+                double decMax = Stat.getMax(avgs);
+                double decAvg = MediaUtils.getAverage(mDecoderFrameTimeDiff[i]);
+                double decStdev = MediaUtils.getStdev(avgs);
+                prefix = "codec=" + decoderName + " size=" + w + "x" + h + " round=" + i +
+                        " DecOutputFormat=" + mDecOutputFormat;
+                MediaUtils.logResults(mReportLog, prefix, decMin, decMax, decAvg, decStdev);
+                double measuredDecFps = 1000000000 / decMin;
+                if (!decTestPassed) {
+                    decTestPassed = MediaUtils.verifyResults(
+                            decoderName, mimeType, w, h, measuredDecFps);
+                }
+            }
         }
 
         if (mTestConfig.mTestResult) {
-            Range<Double> reportedEncoderResults =
-                    CodecInfo.getAchievableFrameRatesFor(encoderName, mimeType, w, h);
-            Range<Double> reportedDecoderResults =
-                    CodecInfo.getAchievableFrameRatesFor(decoderName, mimeType, w, h);
-            if (reportedEncoderResults == null) {
-                fail("Failed to getAchievableFrameRatesFor "
-                        + encoderName + " " + mimeType + " " + w + "x" + h);
+            if (!encTestPassed) {
+                Range<Double> reportedRange =
+                    MediaUtils.getAchievableFrameRatesFor(encoderName, mimeType, w, h);
+                String failMessage =
+                    MediaUtils.getErrorMessage(reportedRange, measuredFps, resultRawData);
+                fail(failMessage);
             }
-            if (reportedDecoderResults == null) {
-                fail("Failed to getAchievableFrameRatesFor "
-                        + decoderName + " " + mimeType + " " + w + "x" + h);
-            }
-            if (!reportedEncoderResults.contains(Stat.getAverage(encoderFpsResults))) {
-                fail("Expecting achievable frame rate in the rang of " + reportedEncoderResults);
-            }
-            if (!reportedDecoderResults.contains(Stat.getAverage(decoderFpsResults))) {
-                fail("Expecting achievable frame rate in the rang of " + reportedDecoderResults);
-            }
+            // Decoder result will be verified in VideoDecoderPerfTest
+            // if (!decTestPassed) {
+            //     fail("Measured fps for " + decoderName +
+            //             " doesn't match with reported achievable frame rates.");
+            // }
         }
+        measuredFps = null;
+        resultRawData = null;
     }
 
     /**
@@ -553,6 +614,7 @@
             return Double.NaN;
         }
         codec.start();
+        mEncInputFormat = codec.getInputFormat();
         ByteBuffer[] codecOutputBuffers = codec.getOutputBuffers();
 
         int numBytesSubmitted = 0;
@@ -567,6 +629,10 @@
                 index = codec.dequeueInputBuffer(VIDEO_CODEC_WAIT_TIME_US /* timeoutUs */);
                 if (index != MediaCodec.INFO_TRY_AGAIN_LATER) {
                     int size;
+                    boolean eos = (inFramesCount == (totalFrames - 1));
+                    if (!eos && ((System.currentTimeMillis() - start) > mTestConfig.mMaxTimeMs)) {
+                        eos = true;
+                    }
                     // when encoder only supports flexYUV, use Image only; otherwise,
                     // use ByteBuffer & Image each on half of the frames to test both
                     if (isSrcFlexYUV() || inFramesCount % 2 == 0) {
@@ -575,14 +641,12 @@
                         assertTrue(image != null);
                         size = queueInputImageEncoder(
                                 codec, image, index, inFramesCount,
-                                (inFramesCount == (totalFrames - 1)) ?
-                                        MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+                                eos ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
                     } else {
                         ByteBuffer buffer = codec.getInputBuffer(index);
                         size = queueInputBufferEncoder(
                                 codec, buffer, index, inFramesCount,
-                                (inFramesCount == (totalFrames - 1)) ?
-                                        MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
+                                eos ? MediaCodec.BUFFER_FLAG_END_OF_STREAM : 0);
                     }
                     inFramesCount++;
                     numBytesSubmitted += size;
@@ -597,6 +661,7 @@
             index = codec.dequeueOutputBuffer(info, VIDEO_CODEC_WAIT_TIME_US /* timeoutUs */);
             if (index == MediaCodec.INFO_TRY_AGAIN_LATER) {
             } else if (index == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
+                mEncOutputFormat = codec.getOutputFormat();
             } else if (index == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
                 codecOutputBuffers = codec.getOutputBuffers();
             } else if (index >= 0) {
@@ -623,6 +688,10 @@
             }
         }
         long finish = System.currentTimeMillis();
+        int validDataNum = Math.min(mEncodedOutputBuffer.size() - 1,
+                mEncoderFrameTimeDiff[mCurrentTestRound].length);
+        mEncoderFrameTimeDiff[mCurrentTestRound] =
+                Arrays.copyOf(mEncoderFrameTimeDiff[mCurrentTestRound], validDataNum);
         if (VERBOSE) {
             Log.d(TAG, "queued a total of " + numBytesSubmitted + "bytes, "
                     + "dequeued " + numBytesDequeued + " bytes.");
@@ -883,12 +952,17 @@
                     int writeSize = src.capacity();
                     dstBuf.put(src.array(), 0, writeSize);
 
+                    int flags = srcInfo.flags;
+                    if ((System.currentTimeMillis() - start) > mTestConfig.mMaxTimeMs) {
+                        flags |= MediaCodec.BUFFER_FLAG_END_OF_STREAM;
+                    }
+
                     codec.queueInputBuffer(
                             inputBufIndex,
                             0 /* offset */,
                             writeSize,
                             srcInfo.presentationTimeUs,
-                            srcInfo.flags);
+                            flags);
                     inputLeft --;
                     inputBufferCount ++;
                 }
@@ -966,9 +1040,9 @@
                     sawOutputEOS = true;
                 }
             } else if (res == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
-                MediaFormat oformat = codec.getOutputFormat();
-                Log.d(TAG, "output format has changed to " + oformat);
-                int colorFormat = oformat.getInteger(MediaFormat.KEY_COLOR_FORMAT);
+                mDecOutputFormat = codec.getOutputFormat();
+                Log.d(TAG, "output format has changed to " + mDecOutputFormat);
+                int colorFormat = mDecOutputFormat.getInteger(MediaFormat.KEY_COLOR_FORMAT);
                 if (colorFormat == CodecCapabilities.COLOR_FormatYUV420SemiPlanar
                         || colorFormat == CodecCapabilities.COLOR_FormatYUV420Planar) {
                     mDstColorFormat = colorFormat;
@@ -980,13 +1054,14 @@
             }
         }
         long finish = System.currentTimeMillis();
+        int validDataNum = Math.min(outFrameCount - 1,
+                mDecoderFrameTimeDiff[mCurrentTestRound].length);
+        mDecoderFrameTimeDiff[mCurrentTestRound] =
+                Arrays.copyOf(mDecoderFrameTimeDiff[mCurrentTestRound], validDataNum);
         codec.stop();
         codec.release();
         codec = null;
-        if (outFrameCount < mTestConfig.mTotalFrames) {
-            fail("Expecting " + mTestConfig.mTotalFrames +
-                    " frames but get " + outFrameCount + " instead.");
-        }
+
         // divide by 3 as sum is done for Y, U, V.
         double errorRms = Math.sqrt(totalErrorSquared / PIXEL_CHECK_PER_FRAME / outFrameCount / 3);
         double[] result = { (double) finish - start, errorRms };
diff --git a/tests/core/runner/src/com/android/cts/runner/CtsTestRunListener.java b/tests/core/runner/src/com/android/cts/runner/CtsTestRunListener.java
index 19f19c0..57dc7c6 100644
--- a/tests/core/runner/src/com/android/cts/runner/CtsTestRunListener.java
+++ b/tests/core/runner/src/com/android/cts/runner/CtsTestRunListener.java
@@ -123,19 +123,27 @@
         Log.d(TAG, "Free memory   : " + free);
 
         String tempdir = System.getProperty("java.io.tmpdir", "");
+        // TODO: Remove these extra Logs added to debug a specific timeout problem.
+        Log.d(TAG, "java.io.tmpdir is:" + tempdir);
+
         if (!TextUtils.isEmpty(tempdir)) {
             String[] commands = {"df", tempdir};
             BufferedReader in = null;
             try {
+                Log.d(TAG, "About to .exec df");
                 Process proc = runtime.exec(commands);
+                Log.d(TAG, ".exec returned");
                 in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
+                Log.d(TAG, "Stream reader created");
                 String line;
                 while ((line = in.readLine()) != null) {
                     Log.d(TAG, line);
                 }
             } catch (IOException e) {
+                Log.d(TAG, "Exception: " + e.toString());
                 // Well, we tried
             } finally {
+                Log.d(TAG, "In finally");
                 if (in != null) {
                     try {
                         in.close();
diff --git a/tests/deviceadmin/res/xml/device_admin.xml b/tests/deviceadmin/res/xml/device_admin.xml
index 263fda6..f7d394e 100644
--- a/tests/deviceadmin/res/xml/device_admin.xml
+++ b/tests/deviceadmin/res/xml/device_admin.xml
@@ -22,6 +22,7 @@
         <force-lock />
         <wipe-data />
         <expire-password />
+        <disable-keyguard-features />
     </uses-policies>
 </device-admin>
 
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index c477128..754e38a 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -174,5 +174,65 @@
     "android.hardware.camera2.cts.SurfaceViewPreviewTest#testPreparePerformance"
   ],
   bug: 17989532
+},
+{
+  description: "The new AE/AF trigger tests are not yet passing on all devices",
+  names: [
+    "android.hardware.camera2.cts.RobustnessTest#testBasicTriggerSequence",
+    "android.hardware.camera2.cts.RobustnessTest#testSimultaneousTriggers",
+    "android.hardware.camera2.cts.RobustnessTest#testAfThenAeTrigger",
+    "android.hardware.camera2.cts.RobustnessTest#testAeThenAfTrigger"
+  ],
+  bug: 22180706
+},
+{
+  description: "The new create session test is not yet passing on all devices",
+  names: [
+    "android.hardware.camera2.cts.CameraDeviceTest#testCreateSessions"
+  ],
+  bug: 22092756
+},
+{
+  description: "The new long processing test is not yet passing on all devices",
+  names: [
+    "android.hardware.camera2.cts.ImageReaderTest#testLongProcessingRepeatingRaw",
+    "android.hardware.camera2.cts.ImageReaderTest#testLongProcessingRepeatingFlexibleYuv"
+  ],
+  bug: 22861512
+},
+{
+  description: "The timing measurements for preview callbacks are not reliable",
+  names: [
+    "android.hardware.cts.CameraTest#testPreviewFpsRange"
+  ],
+  bug: 23008511
+},
+{
+  description: "known failures",
+  names: [
+    "android.hardware.cts.SensorBatchingTests#testAccelerometer_50hz_batching",
+    "android.hardware.cts.SensorBatchingTests#testAccelerometer_fastest_batching",
+    "android.hardware.cts.SensorBatchingTests#testGyroscope_50hz_batching",
+    "android.hardware.cts.SensorBatchingTests#testGyroscope_50hz_flush",
+    "android.hardware.cts.SensorBatchingTests#testMagneticField_50hz_batching",
+    "android.hardware.cts.SensorBatchingTests#testMagneticField_fastest_batching",
+    "android.hardware.cts.SensorBatchingTests#testMagneticFieldUncalibrated_50hz_batching",
+    "android.hardware.cts.SensorBatchingTests#testMagneticFieldUncalibrated_fastest_batching",
+    "android.hardware.cts.SensorBatchingTests#testPressure_50hz_batching",
+    "android.hardware.cts.SensorBatchingTests#testPressure_fastest_batching",
+    "android.hardware.cts.SensorBatchingTests#testRotationVector_50hz_flush",
+    "android.hardware.cts.SensorBatchingTests#testRotationVector_fastest_batching",
+    "android.hardware.cts.SensorIntegrationTests#testSensorsMovingRates",
+    "android.hardware.cts.SensorIntegrationTests#testSensorsWithSeveralClients",
+    "android.hardware.cts.SensorTest#testSensorTimeStamps",
+    "android.hardware.cts.SensorTest#testBatchAndFlush",
+    "android.hardware.cts.SingleSensorTests#testGyroscope_15hz",
+    "android.hardware.cts.SingleSensorTests#testGyroscope_1hz",
+    "android.hardware.cts.SingleSensorTests#testMagneticField_1hz",
+    "android.hardware.cts.SingleSensorTests#testMagneticField_50hz",
+    "android.hardware.cts.SingleSensorTests#testMagneticFieldUncalibrated_200hz",
+    "android.hardware.cts.SingleSensorTests#testOrientation_5hz"
+  ],
+  bug: 22922206
 }
 ]
diff --git a/tests/leanbackjank/Android.mk b/tests/leanbackjank/Android.mk
new file mode 100644
index 0000000..b3adfb1
--- /dev/null
+++ b/tests/leanbackjank/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src) \
+        ./app/src/android/cts/jank/leanback/IntentKeys.java
+
+LOCAL_PACKAGE_NAME := CtsLeanbackJankTestCases
+
+LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil ctstestrunner ub-uiautomator ub-janktesthelper android-support-v17-leanback
+
+include $(BUILD_CTS_PACKAGE)
+
+include $(call all-makefiles-under, $(LOCAL_PATH))
+
diff --git a/tests/leanbackjank/AndroidManifest.xml b/tests/leanbackjank/AndroidManifest.xml
new file mode 100644
index 0000000..1cd552d
--- /dev/null
+++ b/tests/leanbackjank/AndroidManifest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        package="android.cts.leanbackjank">
+
+  <application>
+      <uses-library android:name="android.test.runner"/>
+  </application>
+
+  <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                   android:targetPackage="android.cts.leanbackjank"
+                   android:label="Jank tests">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+
+</manifest>
diff --git a/tests/leanbackjank/AndroidTest.xml b/tests/leanbackjank/AndroidTest.xml
new file mode 100644
index 0000000..e61c58d
--- /dev/null
+++ b/tests/leanbackjank/AndroidTest.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="CTS Jank test config">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsLeanbackJank.apk" />
+</configuration>
diff --git a/tests/leanbackjank/app/Android.mk b/tests/leanbackjank/app/Android.mk
new file mode 100644
index 0000000..5abe1a7
--- /dev/null
+++ b/tests/leanbackjank/app/Android.mk
@@ -0,0 +1,47 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsLeanbackJank
+
+LOCAL_RESOURCE_DIR := \
+    $(TOP)/frameworks/support/v17/leanback/res \
+    $(TOP)/frameworks/support/v7/recyclerview/res \
+    $(LOCAL_PATH)/res
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+    ctsdeviceutil \
+    ctstestrunner \
+    ub-uiautomator \
+    ub-janktesthelper \
+    android-support-v4 \
+    android-support-v7-recyclerview \
+    android-support-v17-leanback \
+    glide
+
+LOCAL_AAPT_FLAGS := \
+        --auto-add-overlay \
+        --extra-packages android.support.v17.leanback \
+        --extra-packages android.support.v7.recyclerview
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/leanbackjank/app/AndroidManifest.xml b/tests/leanbackjank/app/AndroidManifest.xml
new file mode 100644
index 0000000..333399e
--- /dev/null
+++ b/tests/leanbackjank/app/AndroidManifest.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.cts.jank.leanback"
+    android:versionCode="1"
+    android:versionName="1.1" >
+
+    <uses-sdk
+        android:minSdkVersion="21"
+        android:targetSdkVersion="23" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+
+    <uses-feature
+        android:name="android.hardware.touchscreen"
+        android:required="false" />
+
+    <uses-feature android:name="android.software.leanback"
+        android:required="true" />
+
+    <application
+        android:allowBackup="false"
+        android:icon="@drawable/videos_by_google_banner"
+        android:label="@string/app_name"
+        android:logo="@drawable/videos_by_google_banner"
+        android:theme="@style/Theme.Example.Leanback" >
+        <activity
+            android:name=".ui.MainActivity"
+            android:icon="@drawable/videos_by_google_banner"
+            android:label="@string/app_name"
+            android:logo="@drawable/videos_by_google_banner"
+            android:screenOrientation="landscape" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum.png b/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum.png
new file mode 100644
index 0000000..fda9a74
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum_card.png b/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum_card.png
new file mode 100644
index 0000000..498cf66
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/app_icon_quantum_card.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/ic_launcher.png b/tests/leanbackjank/app/res/drawable-hdpi/ic_launcher.png
new file mode 100644
index 0000000..96a442e
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/ic_launcher.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/ic_main_icon.png b/tests/leanbackjank/app/res/drawable-hdpi/ic_main_icon.png
new file mode 100644
index 0000000..6f0c962
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/ic_main_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_banner.png b/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_banner.png
new file mode 100644
index 0000000..4cedb52
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_banner.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_icon.png b/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_icon.png
new file mode 100644
index 0000000..20fd898
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-hdpi/videos_by_google_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-ldpi/ic_launcher.png b/tests/leanbackjank/app/res/drawable-ldpi/ic_launcher.png
new file mode 100644
index 0000000..9923872
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-ldpi/ic_launcher.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum.png b/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum.png
new file mode 100644
index 0000000..6b62138
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum_card.png b/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum_card.png
new file mode 100644
index 0000000..ac9cc30
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/app_icon_quantum_card.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/ic_launcher.png b/tests/leanbackjank/app/res/drawable-mdpi/ic_launcher.png
new file mode 100644
index 0000000..359047d
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/ic_launcher.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/ic_main_icon.png b/tests/leanbackjank/app/res/drawable-mdpi/ic_main_icon.png
new file mode 100644
index 0000000..e9effc8
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/ic_main_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_banner.png b/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_banner.png
new file mode 100644
index 0000000..b191626
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_banner.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_icon.png b/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_icon.png
new file mode 100644
index 0000000..8a7c6dc
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-mdpi/videos_by_google_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum.png b/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum.png
new file mode 100644
index 0000000..825ef63
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum_card.png b/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum_card.png
new file mode 100644
index 0000000..9b1703d
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/app_icon_quantum_card.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/bg.png b/tests/leanbackjank/app/res/drawable-xhdpi/bg.png
new file mode 100644
index 0000000..476c698
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/bg.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/card_background_default.9.png b/tests/leanbackjank/app/res/drawable-xhdpi/card_background_default.9.png
new file mode 100644
index 0000000..29f4e01
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/card_background_default.9.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/default_background.xml b/tests/leanbackjank/app/res/drawable-xhdpi/default_background.xml
new file mode 100644
index 0000000..07b0589
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/default_background.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <gradient
+            android:startColor="@color/background_gradient_start"
+            android:endColor="@color/background_gradient_end"
+            android:angle="-270" />
+</shape>
\ No newline at end of file
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/grid_bg.png b/tests/leanbackjank/app/res/drawable-xhdpi/grid_bg.png
new file mode 100644
index 0000000..476c698
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/grid_bg.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/ic_launcher.png b/tests/leanbackjank/app/res/drawable-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..71c6d76
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/ic_launcher.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/ic_main_icon.png b/tests/leanbackjank/app/res/drawable-xhdpi/ic_main_icon.png
new file mode 100644
index 0000000..2e56516
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/ic_main_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/shadow7.9.png b/tests/leanbackjank/app/res/drawable-xhdpi/shadow7.9.png
new file mode 100644
index 0000000..6d00d09
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/shadow7.9.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_banner.png b/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_banner.png
new file mode 100644
index 0000000..bdcf41e
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_banner.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_icon.png b/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_icon.png
new file mode 100644
index 0000000..9bc4836
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xhdpi/videos_by_google_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum.png b/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum.png
new file mode 100644
index 0000000..c82f94c
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum_card.png b/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum_card.png
new file mode 100644
index 0000000..6c50e8f
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xxhdpi/app_icon_quantum_card.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_banner.png b/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_banner.png
new file mode 100644
index 0000000..6c121e61
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_banner.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_icon.png b/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_icon.png
new file mode 100644
index 0000000..4258160e
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable-xxhdpi/videos_by_google_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/android_header.png b/tests/leanbackjank/app/res/drawable/android_header.png
new file mode 100644
index 0000000..56206ec
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/android_header.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/app_icon_quantum.png b/tests/leanbackjank/app/res/drawable/app_icon_quantum.png
new file mode 100644
index 0000000..fda9a74
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/app_icon_quantum.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/app_icon_quantum_card.png b/tests/leanbackjank/app/res/drawable/app_icon_quantum_card.png
new file mode 100644
index 0000000..498cf66
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/app_icon_quantum_card.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/gradation.png b/tests/leanbackjank/app/res/drawable/gradation.png
new file mode 100644
index 0000000..ba43a90
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/gradation.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/ic_action_a.png b/tests/leanbackjank/app/res/drawable/ic_action_a.png
new file mode 100644
index 0000000..3d555ef
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/ic_action_a.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/ic_title.png b/tests/leanbackjank/app/res/drawable/ic_title.png
new file mode 100644
index 0000000..1c62b2e
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/ic_title.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/movie.png b/tests/leanbackjank/app/res/drawable/movie.png
new file mode 100644
index 0000000..cb5cb6d
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/movie.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/player_bg_gradient_dark.xml b/tests/leanbackjank/app/res/drawable/player_bg_gradient_dark.xml
new file mode 100644
index 0000000..4450cb6
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/player_bg_gradient_dark.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <gradient
+        android:angle="90"
+        android:centerColor="#00000000"
+        android:endColor="#B2000000"
+        android:startColor="#B2000000"
+        android:type="linear" />
+
+</shape>
\ No newline at end of file
diff --git a/tests/leanbackjank/app/res/drawable/shadow7.9.png b/tests/leanbackjank/app/res/drawable/shadow7.9.png
new file mode 100644
index 0000000..6d00d09
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/shadow7.9.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/text_bg.xml b/tests/leanbackjank/app/res/drawable/text_bg.xml
new file mode 100644
index 0000000..43fbeaf
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/text_bg.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <gradient
+        android:startColor="#FFFF0000"
+        android:endColor="#FFFF00FF"
+        android:angle="45" />
+    <padding
+        android:left="7dp"
+        android:top="7dp"
+        android:right="7dp"
+        android:bottom="7dp" />
+    <size
+        android:height="160dp"
+        android:width="100dp" />
+</shape>
diff --git a/tests/leanbackjank/app/res/drawable/videos_by_google_banner.png b/tests/leanbackjank/app/res/drawable/videos_by_google_banner.png
new file mode 100644
index 0000000..4cedb52
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/videos_by_google_banner.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/drawable/videos_by_google_icon.png b/tests/leanbackjank/app/res/drawable/videos_by_google_icon.png
new file mode 100644
index 0000000..20fd898
--- /dev/null
+++ b/tests/leanbackjank/app/res/drawable/videos_by_google_icon.png
Binary files differ
diff --git a/tests/leanbackjank/app/res/layout/icon_header_item.xml b/tests/leanbackjank/app/res/layout/icon_header_item.xml
new file mode 100644
index 0000000..586881d
--- /dev/null
+++ b/tests/leanbackjank/app/res/layout/icon_header_item.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<android.support.v17.leanback.widget.NonOverlappingLinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="horizontal"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <ImageView
+        android:id="@+id/header_icon"
+        android:layout_width="32dp"
+        android:layout_height="32dp" />
+
+    <TextView
+        android:id="@+id/header_label"
+        android:layout_marginTop="6dp"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+</android.support.v17.leanback.widget.NonOverlappingLinearLayout>
diff --git a/tests/leanbackjank/app/res/layout/main.xml b/tests/leanbackjank/app/res/layout/main.xml
new file mode 100644
index 0000000..7a83b69
--- /dev/null
+++ b/tests/leanbackjank/app/res/layout/main.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/main_frame"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <fragment
+        android:name="android.cts.jank.leanback.ui.MainFragment"
+        android:id="@+id/main_browse_fragment"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+</FrameLayout>
diff --git a/tests/leanbackjank/app/res/layout/movie_card.xml b/tests/leanbackjank/app/res/layout/movie_card.xml
new file mode 100644
index 0000000..c63841d
--- /dev/null
+++ b/tests/leanbackjank/app/res/layout/movie_card.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<android.support.v17.leanback.widget.NonOverlappingLinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+              android:orientation="vertical"
+              android:layout_height="wrap_content"
+              android:layout_width="wrap_content"
+              android:scaleType="centerCrop"
+              android:focusable="true"
+              android:focusableInTouchMode="true">
+    <ImageView
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:id="@+id/poster" android:layout_gravity="center"/>
+    <TextView
+       android:id="@+id/poster_text"
+       android:layout_width="wrap_content"
+       android:layout_height="wrap_content"
+       android:paddingTop="10dp"
+       android:paddingRight="10dp"
+       android:paddingBottom="10dp"
+       android:paddingLeft="10dp" />
+</android.support.v17.leanback.widget.NonOverlappingLinearLayout>
\ No newline at end of file
diff --git a/tests/leanbackjank/app/res/values/colors.xml b/tests/leanbackjank/app/res/values/colors.xml
new file mode 100644
index 0000000..7e246ed
--- /dev/null
+++ b/tests/leanbackjank/app/res/values/colors.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <color name="background_gradient_start">#000000</color>
+    <color name="background_gradient_end">#DDDDDD</color>
+    <color name="fastlane_background">#0096a6</color>
+    <color name="search_opaque">#ffaa3f</color>
+    <color name="selected_background">#ffaa3f</color>
+    <color name="soft_opaque">#30000000</color>
+    <color name="img_soft_opaque">#30FF0000</color>
+    <color name="img_full_opaque">#00000000</color>
+    <color name="black_opaque">#AA000000</color>
+    <color name="black">#59000000</color>
+    <color name="white">#FFFFFF</color>
+    <color name="orange_transparent">#AAFADCA7</color>
+    <color name="orange">#FADCA7</color>
+    <color name="yellow">#EEFF41</color>
+    <color name="default_background">#0096a6</color>
+    <color name="icon_background">#4A4F51</color>
+    <color name="icon_alt_background">#2A2F51</color>
+</resources>
\ No newline at end of file
diff --git a/tests/leanbackjank/app/res/values/strings.xml b/tests/leanbackjank/app/res/values/strings.xml
new file mode 100644
index 0000000..17edf95
--- /dev/null
+++ b/tests/leanbackjank/app/res/values/strings.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+     Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<resources>
+    <string name="app_name"><![CDATA[Leanback launcher jank test application]]></string>
+    <string name="browse_title"><![CDATA[Leanback launcher jank test application]]></string>
+    <string name="error">Error</string>
+    <string name="ok">OK</string>
+    <string name="grid_item_template">Item %1$d</string>
+    <string name="settings">Settings</string>
+
+    <!-- Error messages -->
+    <string name="error_fragment_message">An error occurred</string>
+    <string name="dismiss_error">Dismiss</string>
+</resources>
diff --git a/tests/leanbackjank/app/res/values/themes.xml b/tests/leanbackjank/app/res/values/themes.xml
new file mode 100644
index 0000000..4a1e06d
--- /dev/null
+++ b/tests/leanbackjank/app/res/values/themes.xml
@@ -0,0 +1,15 @@
+<resources>
+    <style name="Theme.Example.Leanback" parent="Theme.Leanback">
+        <item name="android:colorPrimary">@color/search_opaque</item>
+        <item name="android:windowEnterTransition">@android:transition/fade</item>
+        <item name="android:windowExitTransition">@android:transition/fade</item>
+        <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
+        <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
+        <!-- Set to display colorPrimary when apps launches -->
+        <item name="android:windowAllowReturnTransitionOverlap">true</item>
+        <item name="android:windowAllowEnterTransitionOverlap">false</item>
+        <item name="android:windowContentTransitions">true</item>
+    </style>
+    <style name="Widget.Example.Leanback.Title.Text" parent="Widget.Leanback.Title.Text" >
+    </style>
+</resources>
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/IntentKeys.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/IntentKeys.java
new file mode 100644
index 0000000..e9c5e6e
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/IntentKeys.java
@@ -0,0 +1,10 @@
+package android.cts.jank.leanback;
+
+/**
+ * Intent key strings of the leanback jank test helper app.
+ */
+public class IntentKeys {
+    public static final String SCROLL_COUNT = "SCROLL_COUNT";
+    public static final String SCROLL_DELAY = "SCROLL_DELAY";
+    public static final String SCROLL_INTERVAL = "SCROLL_INTERVAL";
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/Utils.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/Utils.java
new file mode 100644
index 0000000..de6d6af
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/Utils.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback;
+
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Point;
+import android.media.MediaMetadataRetriever;
+import android.os.Build;
+import android.util.DisplayMetrics;
+import android.view.Display;
+import android.view.WindowManager;
+import android.widget.FrameLayout;
+import android.widget.Toast;
+import android.widget.VideoView;
+
+import java.util.HashMap;
+
+/**
+ * A collection of utility methods, all static.
+ */
+public class Utils {
+
+    public interface MediaDimensions {
+        double MEDIA_HEIGHT = 0.95;
+        double MEDIA_WIDTH = 0.95;
+        double MEDIA_TOP_MARGIN = 0.025;
+        double MEDIA_RIGHT_MARGIN = 0.025;
+        double MEDIA_BOTTOM_MARGIN = 0.025;
+        double MEDIA_LEFT_MARGIN = 0.025;
+    }
+
+    /*
+     * Making sure public utility methods remain static
+     */
+    private Utils() {
+    }
+
+    /**
+     * Returns the screen/display size
+     */
+    public static Point getDisplaySize(Context context) {
+        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+        Display display = wm.getDefaultDisplay();
+        Point size = new Point();
+        display.getSize(size);
+        return size;
+    }
+
+    /**
+     * Shows a (long) toast
+     */
+    public static void showToast(Context context, String msg) {
+        Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
+    }
+
+    /**
+     * Shows a (long) toast.
+     */
+    public static void showToast(Context context, int resourceId) {
+        Toast.makeText(context, context.getString(resourceId), Toast.LENGTH_LONG).show();
+    }
+
+    public static int convertDpToPixel(Context ctx, int dp) {
+        float density = ctx.getResources().getDisplayMetrics().density;
+        return Math.round((float) dp * density);
+    }
+
+
+    /**
+     * Example for handling resizing content for overscan.  Typically you won't need to resize
+     * when using the Leanback support library.
+     */
+    public void overScan(Activity activity, VideoView videoView) {
+        DisplayMetrics metrics = new DisplayMetrics();
+        activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
+        int w = (int) (metrics.widthPixels * MediaDimensions.MEDIA_WIDTH);
+        int h = (int) (metrics.heightPixels * MediaDimensions.MEDIA_HEIGHT);
+        int marginLeft = (int) (metrics.widthPixels * MediaDimensions.MEDIA_LEFT_MARGIN);
+        int marginTop = (int) (metrics.heightPixels * MediaDimensions.MEDIA_TOP_MARGIN);
+        int marginRight = (int) (metrics.widthPixels * MediaDimensions.MEDIA_RIGHT_MARGIN);
+        int marginBottom = (int) (metrics.heightPixels * MediaDimensions.MEDIA_BOTTOM_MARGIN);
+        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(w, h);
+        lp.setMargins(marginLeft, marginTop, marginRight, marginBottom);
+        videoView.setLayoutParams(lp);
+    }
+
+
+    public static long getDuration(String videoUrl) {
+        MediaMetadataRetriever mmr = new MediaMetadataRetriever();
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
+            mmr.setDataSource(videoUrl, new HashMap<String, String>());
+        } else {
+            mmr.setDataSource(videoUrl);
+        }
+        return Long.parseLong(mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION));
+    }
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/data/VideoProvider.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/data/VideoProvider.java
new file mode 100644
index 0000000..fa317ed
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/data/VideoProvider.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback.data;
+
+import android.cts.jank.leanback.model.Movie;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * Provides synthesized movie data.
+ */
+public class VideoProvider {
+    private static HashMap<String, List<Movie>> sMovieList;
+    private static HashMap<String, Movie> sMovieListById;
+
+    public static Movie getMovieById(String mediaId) {
+        return sMovieListById.get(mediaId);
+    }
+
+    public static HashMap<String, List<Movie>> getMovieList() {
+        return sMovieList;
+    }
+
+    public static HashMap<String, List<Movie>> buildMedia(int nCategories) {
+        if (null != sMovieList) {
+            return sMovieList;
+        }
+        sMovieList = new HashMap<>();
+        sMovieListById = new HashMap<>();
+
+        String title = new String();
+        String studio = new String();
+        for (int i = 0; i < nCategories; i++) {
+            String category_name = String.format("Category %d",  i);
+            List<Movie> categoryList = new ArrayList<Movie>();
+            for (int j = 0; j < 20; j++) {
+                String description = "This is description of a movie.";
+                title = String.format("Video %d-%d", i, j);
+                studio = String.format("Studio %d", (i + j) % 7);
+                Movie movie = buildMovieInfo(category_name, title, description, studio);
+                sMovieListById.put(movie.getId(), movie);
+                categoryList.add(movie);
+            }
+            sMovieList.put(category_name, categoryList);
+        }
+        return sMovieList;
+    }
+
+    private static Movie buildMovieInfo(String category,
+                                        String title,
+                                        String description,
+                                        String studio) {
+        Movie movie = new Movie();
+        movie.setId(Movie.getCount());
+        Movie.incrementCount();
+        movie.setTitle(title);
+        movie.setDescription(description);
+        movie.setStudio(studio);
+        movie.setCategory(category);
+
+        return movie;
+    }
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/model/Movie.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/model/Movie.java
new file mode 100644
index 0000000..874bb00
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/model/Movie.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback.model;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+/**
+ * Movie class represents video entity with title, description, image thumbs and video url.
+ */
+public class Movie implements Parcelable {
+    static final long serialVersionUID = 727566175075960653L;
+    private static int sCount = 0;
+    private String mId;
+    private String mTitle;
+    private String mDescription;
+    private String mStudio;
+    private String mCategory;
+
+    public Movie() {
+    }
+
+    public Movie(Parcel in){
+        String[] data = new String[5];
+
+        in.readStringArray(data);
+        mId = data[0];
+        mTitle = data[1];
+        mDescription = data[2];
+        mStudio = data[3];
+        mCategory = data[4];
+    }
+
+    public static String getCount() {
+        return Integer.toString(sCount);
+    }
+
+    public static void incrementCount() {
+        sCount++;
+    }
+
+    public String getId() {
+        return mId;
+    }
+
+    public void setId(String id) {
+        mId = id;
+    }
+
+    public String getTitle() {
+        return mTitle;
+    }
+
+    public void setTitle(String title) {
+        mTitle = title;
+    }
+
+    public String getDescription() {
+        return mDescription;
+    }
+
+    public void setDescription(String description) {
+        mDescription = description;
+    }
+
+    public String getStudio() {
+        return mStudio;
+    }
+
+    public void setStudio(String studio) {
+        mStudio = studio;
+    }
+
+    public String getCategory() {
+        return mCategory;
+    }
+
+    public void setCategory(String category) {
+        mCategory = category;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeStringArray(new String[] {mId,
+                mTitle,
+                mDescription,
+                mStudio,
+                mCategory});
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder(200);
+        sb.append("Movie{");
+        sb.append("mId=" + mId);
+        sb.append(", mTitle='" + mTitle + '\'');
+        sb.append('}');
+        return sb.toString();
+    }
+
+    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
+        public Movie createFromParcel(Parcel in) {
+            return new Movie(in);
+        }
+
+        public Movie[] newArray(int size) {
+            return new Movie[size];
+        }
+    };
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/CardPresenter.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/CardPresenter.java
new file mode 100644
index 0000000..9f425ca
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/CardPresenter.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback.presenter;
+
+import android.graphics.drawable.Drawable;
+import android.support.v17.leanback.widget.ImageCardView;
+import android.support.v17.leanback.widget.Presenter;
+import android.view.ViewGroup;
+
+import com.bumptech.glide.Glide;
+import android.cts.jank.leanback.R;
+import android.cts.jank.leanback.model.Movie;
+
+/**
+ * A CardPresenter is used to generate Views and bind Objects to them on demand.
+ * It contains an Image CardView
+ */
+public class CardPresenter extends Presenter {
+    private static int CARD_WIDTH = 313;
+    private static int CARD_HEIGHT = 176;
+    private static int sSelectedBackgroundColor;
+    private static int sDefaultBackgroundColor;
+    private Drawable mDefaultCardImage;
+
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup parent) {
+        sDefaultBackgroundColor = parent.getResources().getColor(R.color.default_background, null);
+        sSelectedBackgroundColor =
+                parent.getResources().getColor(R.color.selected_background, null);
+        mDefaultCardImage = parent.getResources().getDrawable(R.drawable.movie, null);
+
+        ImageCardView cardView = new ImageCardView(parent.getContext()) {
+            @Override
+            public void setSelected(boolean selected) {
+                updateCardBackgroundColor(this, selected);
+                super.setSelected(selected);
+            }
+        };
+
+        cardView.setFocusable(true);
+        cardView.setFocusableInTouchMode(true);
+        updateCardBackgroundColor(cardView, false);
+        return new ViewHolder(cardView);
+    }
+
+    private static void updateCardBackgroundColor(ImageCardView view, boolean selected) {
+        int color = selected ? sSelectedBackgroundColor : sDefaultBackgroundColor;
+        // Both background colors should be set because the view's background is temporarily visible
+        // during animations.
+        view.setBackgroundColor(color);
+        view.findViewById(R.id.info_field).setBackgroundColor(color);
+    }
+
+    @Override
+    public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object item) {
+        Movie movie = (Movie) item;
+        ImageCardView cardView = (ImageCardView) viewHolder.view;
+
+        cardView.setTitleText(movie.getTitle());
+        cardView.setContentText(movie.getStudio());
+        cardView.setMainImageDimensions(CARD_WIDTH, CARD_HEIGHT);
+        Glide.with(viewHolder.view.getContext())
+                .load(R.drawable.gradation)
+                .centerCrop()
+                .error(mDefaultCardImage)
+                .into(cardView.getMainImageView());
+    }
+
+    @Override
+    public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) {
+        ImageCardView cardView = (ImageCardView) viewHolder.view;
+        // Remove references to images so that the garbage collector can free up memory
+        cardView.setBadgeImage(null);
+        cardView.setMainImage(null);
+    }
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/GridItemPresenter.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/GridItemPresenter.java
new file mode 100644
index 0000000..4084383
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/GridItemPresenter.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback.presenter;
+
+import android.graphics.Color;
+import android.support.v17.leanback.widget.Presenter;
+import android.view.Gravity;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import android.cts.jank.leanback.R;
+import android.cts.jank.leanback.ui.MainFragment;
+
+public class GridItemPresenter extends Presenter {
+    private static int GRID_ITEM_WIDTH = 200;
+    private static int GRID_ITEM_HEIGHT = 200;
+
+    private MainFragment mainFragment;
+
+    public GridItemPresenter(MainFragment mainFragment) {
+        this.mainFragment = mainFragment;
+    }
+
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup parent) {
+        TextView view = new TextView(parent.getContext());
+        view.setLayoutParams(new ViewGroup.LayoutParams(GRID_ITEM_WIDTH, GRID_ITEM_HEIGHT));
+        view.setFocusable(true);
+        view.setFocusableInTouchMode(true);
+        view.setBackgroundColor(
+            mainFragment.getResources().getColor(R.color.default_background, null));
+        view.setTextColor(Color.WHITE);
+        view.setGravity(Gravity.CENTER);
+        return new ViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(ViewHolder viewHolder, Object item) {
+        ((TextView) viewHolder.view).setText((String) item);
+    }
+
+    @Override
+    public void onUnbindViewHolder(ViewHolder viewHolder) {
+    }
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/IconHeaderItemPresenter.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/IconHeaderItemPresenter.java
new file mode 100644
index 0000000..42e4c0c
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/presenter/IconHeaderItemPresenter.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.jank.leanback.presenter;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.support.v17.leanback.widget.HeaderItem;
+import android.support.v17.leanback.widget.ListRow;
+import android.support.v17.leanback.widget.Presenter;
+import android.support.v17.leanback.widget.RowHeaderPresenter;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import android.cts.jank.leanback.R;
+
+public class IconHeaderItemPresenter extends RowHeaderPresenter {
+    private float mUnselectedAlpha;
+
+    @Override
+    public ViewHolder onCreateViewHolder(ViewGroup viewGroup) {
+        mUnselectedAlpha = viewGroup.getResources()
+                .getFraction(R.fraction.lb_browse_header_unselect_alpha, 1, 1);
+        LayoutInflater inflater = (LayoutInflater) viewGroup.getContext()
+                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+
+        View view = inflater.inflate(R.layout.icon_header_item, null);
+
+        return new ViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(Presenter.ViewHolder viewHolder, Object o) {
+        HeaderItem headerItem = ((ListRow) o).getHeaderItem();
+        View rootView = viewHolder.view;
+
+        ImageView iconView = (ImageView) rootView.findViewById(R.id.header_icon);
+        Drawable icon = rootView.getResources().getDrawable(R.drawable.android_header, null);
+        iconView.setImageDrawable(icon);
+
+        TextView label = (TextView) rootView.findViewById(R.id.header_label);
+        label.setText(headerItem.getName());
+    }
+
+    @Override
+    public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) {
+    }
+
+    // TODO: TEMP - remove me when leanback onCreateViewHolder no longer sets the mUnselectAlpha,AND
+    // also assumes the xml inflation will return a RowHeaderView
+    @Override
+    protected void onSelectLevelChanged(RowHeaderPresenter.ViewHolder holder) {
+        // this is a temporary fix
+        holder.view.setAlpha(mUnselectedAlpha + holder.getSelectLevel() *
+                (1.0f - mUnselectedAlpha));
+    }
+}
\ No newline at end of file
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainActivity.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainActivity.java
new file mode 100644
index 0000000..fb27fa1
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainActivity.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.cts.jank.leanback.ui;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.cts.jank.leanback.R;
+
+/**
+ * MainActivity class that loads MainFragment
+ */
+public class MainActivity extends Activity {
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.main);
+    }
+
+    @Override
+    public boolean onSearchRequested() {
+        return false;
+    }
+}
diff --git a/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainFragment.java b/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainFragment.java
new file mode 100644
index 0000000..e645f6b
--- /dev/null
+++ b/tests/leanbackjank/app/src/android/cts/jank/leanback/ui/MainFragment.java
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.cts.jank.leanback.ui;
+
+import android.content.Intent;
+import android.content.res.Resources.Theme;
+import android.cts.jank.leanback.IntentKeys;
+import android.cts.jank.leanback.R;
+import android.cts.jank.leanback.data.VideoProvider;
+import android.cts.jank.leanback.model.Movie;
+import android.cts.jank.leanback.presenter.CardPresenter;
+import android.cts.jank.leanback.presenter.GridItemPresenter;
+import android.cts.jank.leanback.presenter.IconHeaderItemPresenter;
+import android.os.Bundle;
+import android.os.Handler;
+import android.support.v17.leanback.app.BackgroundManager;
+import android.support.v17.leanback.app.BrowseFragment;
+import android.support.v17.leanback.widget.ArrayObjectAdapter;
+import android.support.v17.leanback.widget.HeaderItem;
+import android.support.v17.leanback.widget.ListRow;
+import android.support.v17.leanback.widget.ListRowPresenter;
+import android.support.v17.leanback.widget.Presenter;
+import android.support.v17.leanback.widget.PresenterSelector;
+import android.util.DisplayMetrics;
+import android.view.View;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * Main class to show BrowseFragment with header and rows of videos
+ */
+public class MainFragment extends BrowseFragment {
+    private static final int NUM_ROWS = 20;
+    private final Handler mHandler = new Handler();
+    private Timer mAutoScrollTimer;
+    private int mAutoScrollCount;
+
+    private ArrayObjectAdapter mRowsAdapter;
+    private DisplayMetrics mMetrics;
+    private BackgroundManager mBackgroundManager;
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+
+        buildRowAdapterItems(VideoProvider.buildMedia(NUM_ROWS));
+        prepareBackgroundManager();
+        setupUIElements();
+        setupEventListeners();
+        Intent intent = getActivity().getIntent();
+        if (intent.getExtras() != null) {
+            int initialDelay = intent.getExtras().getInt(IntentKeys.SCROLL_DELAY);
+            int scrollCount = intent.getExtras().getInt(IntentKeys.SCROLL_COUNT);
+            int scrollInterval = intent.getExtras().getInt(IntentKeys.SCROLL_INTERVAL);
+            if (scrollInterval != 0 && scrollCount != 0) {
+                startAutoScrollTimer(initialDelay, scrollInterval, scrollCount);
+            }
+        }
+    }
+
+    @Override
+    public void onDestroy() {
+        if (null != mAutoScrollTimer) {
+            mAutoScrollTimer.cancel();
+            mAutoScrollTimer = null;
+        }
+        super.onDestroy();
+    }
+
+    @Override
+    public void onStop() {
+        mBackgroundManager.release();
+        super.onStop();
+    }
+
+    private void prepareBackgroundManager() {
+        mBackgroundManager = BackgroundManager.getInstance(getActivity());
+        mBackgroundManager.attach(getActivity().getWindow());
+        mBackgroundManager.setDrawable(getActivity().getResources().getDrawable(
+                R.drawable.default_background, getContext().getTheme()));
+        mMetrics = new DisplayMetrics();
+        getActivity().getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
+    }
+
+    private void setupUIElements() {
+        setBadgeDrawable(getActivity().getResources().getDrawable(
+                R.drawable.videos_by_google_banner, getContext().getTheme()));
+        setTitle(getString(R.string.browse_title));
+        setHeadersState(HEADERS_ENABLED);
+        setHeadersTransitionOnBackEnabled(true);
+
+        Theme theme = getContext().getTheme();
+        setBrandColor(getResources().getColor(R.color.fastlane_background, theme));
+
+        setSearchAffordanceColor(getResources().getColor(R.color.search_opaque, theme));
+
+        setHeaderPresenterSelector(new PresenterSelector() {
+            @Override
+            public Presenter getPresenter(Object o) {
+                return new IconHeaderItemPresenter();
+            }
+        });
+    }
+
+    private void setupEventListeners() {
+        // Add lister to show the search button.
+        setOnSearchClickedListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+            }
+        });
+    }
+
+    public void buildRowAdapterItems(HashMap<String, List<Movie>> data) {
+        mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
+        CardPresenter cardPresenter = new CardPresenter();
+
+        int i = 0;
+
+        for (Map.Entry<String, List<Movie>> entry : data.entrySet()) {
+            ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(cardPresenter);
+            List<Movie> list = entry.getValue();
+
+            for (int j = 0; j < list.size(); j++) {
+                listRowAdapter.add(list.get(j));
+            }
+            HeaderItem header = new HeaderItem(i, entry.getKey());
+            i++;
+            mRowsAdapter.add(new ListRow(header, listRowAdapter));
+        }
+
+        HeaderItem gridHeader = new HeaderItem(i, getString(R.string.settings));
+
+        GridItemPresenter gridPresenter = new GridItemPresenter(this);
+        ArrayObjectAdapter gridRowAdapter = new ArrayObjectAdapter(gridPresenter);
+        for (int j = 0; j < 10; j++) {
+            gridRowAdapter.add(getString(R.string.grid_item_template, j));
+        }
+        mRowsAdapter.add(new ListRow(gridHeader, gridRowAdapter));
+
+        setAdapter(mRowsAdapter);
+    }
+
+    private class UpdateAutoScrollTask extends TimerTask {
+        @Override
+        public void run() {
+            mHandler.post(new Runnable() {
+                @Override
+                public void run() {
+                    if (mAutoScrollCount == 0) {
+                      mAutoScrollTimer.cancel();
+                      return;
+                    }
+                    if (mAutoScrollCount % 2 == 0) {
+                      setSelectedPosition(NUM_ROWS - 1);
+                    } else {
+                      setSelectedPosition(0);
+                    }
+                    mAutoScrollCount--;
+                }
+            });
+        }
+    }
+
+    private void startAutoScrollTimer(int initialDelay, int interval, int count) {
+        if (null != mAutoScrollTimer) {
+            mAutoScrollTimer.cancel();
+        }
+        mAutoScrollCount = count;
+        mAutoScrollTimer = new Timer();
+        mAutoScrollTimer.schedule(new UpdateAutoScrollTask(), initialDelay, interval);
+    }
+
+    public void selectRow(int row) {
+        setSelectedPosition(row);
+    }
+}
diff --git a/tests/leanbackjank/src/android/cts/leanbackjank/CtsDeviceLeanback.java b/tests/leanbackjank/src/android/cts/leanbackjank/CtsDeviceLeanback.java
new file mode 100644
index 0000000..a86a707
--- /dev/null
+++ b/tests/leanbackjank/src/android/cts/leanbackjank/CtsDeviceLeanback.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.cts.leanbackjank;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.cts.jank.leanback.IntentKeys;
+import android.os.SystemClock;
+import android.support.test.jank.GfxMonitor;
+import android.support.test.jank.JankTest;
+import android.support.test.jank.WindowContentFrameStatsMonitor;
+import android.support.test.uiautomator.By;
+import android.support.test.uiautomator.Until;
+import android.util.Log;
+
+public class CtsDeviceLeanback extends CtsJankTestBase {
+    private static final String TAG = "CtsDeviceLeanback";
+    private static final int MILLIS_PER_SECOND = 1000;
+    private static final long WAIT_TIMEOUT = 5 * MILLIS_PER_SECOND;
+    private static final int SCROLL_COUNT = 100;
+    private static final int SCROLL_INTERVAL_MILLIS = 200;
+    private static final int PRE_SCROLL_DELAY_MILLIS = 0;
+    private static final int PRE_SCROLL_IDLE_TIME = 2 * MILLIS_PER_SECOND;
+    private static final int SAMPLING_DURATION_SECONDS = 3;
+    private static final int SAMPLING_DURATION_MILLIS =
+            SAMPLING_DURATION_SECONDS * MILLIS_PER_SECOND;
+    private final static String APP_PACKAGE = "android.cts.jank.leanback";
+    private final static String JAVA_PACKAGE = "android.cts.jank.leanback.ui";
+    private final static String CLASS = JAVA_PACKAGE + ".MainActivity";
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        Intent intent = new Intent(Intent.ACTION_MAIN);
+        intent.setComponent(new ComponentName(APP_PACKAGE, CLASS));
+
+        // Trigger automated scroll of the helper app.
+        intent.putExtra(IntentKeys.SCROLL_DELAY, PRE_SCROLL_DELAY_MILLIS);
+        intent.putExtra(IntentKeys.SCROLL_COUNT, SCROLL_COUNT);
+        intent.putExtra(IntentKeys.SCROLL_INTERVAL, SCROLL_INTERVAL_MILLIS);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        getInstrumentation().getTargetContext().startActivity(intent);
+        if (!getUiDevice().wait(Until.hasObject(By.pkg(APP_PACKAGE)), WAIT_TIMEOUT)) {
+            fail("Test helper app package not found on device");
+        }
+
+        // Wait until scroll animation starts.
+        SystemClock.sleep(PRE_SCROLL_IDLE_TIME);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        getUiDevice().pressHome();
+        super.tearDown();
+    }
+
+    // Requires at least 30 fps on average to pass the test.
+    @JankTest(expectedFrames = 30 * SAMPLING_DURATION_SECONDS, defaultIterationCount = 2)
+    @GfxMonitor(processName = APP_PACKAGE)
+    @WindowContentFrameStatsMonitor
+    public void testScrollingByTimer() {
+        SystemClock.sleep(SAMPLING_DURATION_MILLIS);
+    }
+}
diff --git a/tests/leanbackjank/src/android/cts/leanbackjank/CtsJankTestBase.java b/tests/leanbackjank/src/android/cts/leanbackjank/CtsJankTestBase.java
new file mode 100644
index 0000000..4de0702
--- /dev/null
+++ b/tests/leanbackjank/src/android/cts/leanbackjank/CtsJankTestBase.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.cts.leanbackjank;
+
+import android.cts.util.DeviceReportLog;
+import android.os.Bundle;
+import android.support.test.jank.GfxMonitor;
+import android.support.test.jank.JankTestBase;
+import android.support.test.jank.WindowContentFrameStatsMonitor;
+import android.support.test.uiautomator.UiDevice;
+
+import com.android.cts.util.ResultType;
+import com.android.cts.util.ResultUnit;
+
+public abstract class CtsJankTestBase extends JankTestBase {
+
+    private UiDevice mDevice;
+    private DeviceReportLog mLog;
+
+    private void printIntValueWithKey(String source, Bundle metrics, String key,
+            ResultType resultType, ResultUnit resultUnit) {
+        if (!metrics.containsKey(key)) {
+            return;
+        }
+        mLog.printValue(source, key, metrics.getInt(key), resultType, resultUnit);
+    }
+
+    private void printDoubleValueWithKey(String source, Bundle metrics, String key,
+            ResultType resultType, ResultUnit resultUnit) {
+        if (!metrics.containsKey(key)) {
+            return;
+        }
+        mLog.printValue(source, key, metrics.getDouble(key), resultType, resultUnit);
+    }
+
+    @Override
+    public void afterTest(Bundle metrics) {
+        String source = String.format("%s#%s", getClass().getCanonicalName(), getName());
+        printDoubleValueWithKey(source, metrics, WindowContentFrameStatsMonitor.KEY_AVG_FPS,
+                ResultType.HIGHER_BETTER, ResultUnit.FPS);
+        printDoubleValueWithKey(source, metrics,
+                WindowContentFrameStatsMonitor.KEY_AVG_LONGEST_FRAME,
+                ResultType.LOWER_BETTER, ResultUnit.MS);
+        printIntValueWithKey(source, metrics, WindowContentFrameStatsMonitor.KEY_MAX_NUM_JANKY,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        mLog.printSummary(WindowContentFrameStatsMonitor.KEY_AVG_NUM_JANKY,
+                metrics.getDouble(WindowContentFrameStatsMonitor.KEY_AVG_NUM_JANKY),
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_NUM_JANKY,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_FRAME_TIME_90TH_PERCENTILE,
+                ResultType.LOWER_BETTER, ResultUnit.MS);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_FRAME_TIME_95TH_PERCENTILE,
+                ResultType.LOWER_BETTER, ResultUnit.MS);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_FRAME_TIME_99TH_PERCENTILE,
+                ResultType.LOWER_BETTER, ResultUnit.MS);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_MISSED_VSYNC,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_SLOW_UI_THREAD,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_SLOW_BITMAP_UPLOADS,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_SLOW_DRAW,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+        printDoubleValueWithKey(source, metrics, GfxMonitor.KEY_AVG_HIGH_INPUT_LATENCY,
+                ResultType.LOWER_BETTER, ResultUnit.COUNT);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mLog = new DeviceReportLog();
+        // fix device orientation
+        mDevice = UiDevice.getInstance(getInstrumentation());
+        mDevice.setOrientationNatural();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mLog.deliverReportToHost(getInstrumentation());
+        // restore device orientation
+        mDevice.unfreezeRotation();
+        super.tearDown();
+    }
+
+    protected UiDevice getUiDevice() {
+        return mDevice;
+    }
+}
diff --git a/tests/tests/accounts/Android.mk b/tests/tests/accounts/Android.mk
index 1579822..6ed35c6 100644
--- a/tests/tests/accounts/Android.mk
+++ b/tests/tests/accounts/Android.mk
@@ -21,7 +21,7 @@
 # and when built explicitly put it in the data partition
 LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
 
-LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAccountTestsCommon ctstestrunner
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
@@ -30,3 +30,4 @@
 LOCAL_SDK_VERSION := current
 
 include $(BUILD_CTS_PACKAGE)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/accounts/AndroidManifest.xml b/tests/tests/accounts/AndroidManifest.xml
index 93529d0..d882690 100644
--- a/tests/tests/accounts/AndroidManifest.xml
+++ b/tests/tests/accounts/AndroidManifest.xml
@@ -18,11 +18,9 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="android.accounts.cts">
 
-    <!-- Used for AccountManagerService test, don't delete this permission -->
-    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
-    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
-    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
-    <uses-permission android:name="android.permission.USE_CREDENTIALS" />
+    <!-- Don't need GET_ACCOUNTS because share a Uid with the relevant
+         authenticators -->
+
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
 
     <application>
diff --git a/tests/tests/accounts/AndroidTest.xml b/tests/tests/accounts/AndroidTest.xml
new file mode 100644
index 0000000..3e29c9c
--- /dev/null
+++ b/tests/tests/accounts/AndroidTest.xml
@@ -0,0 +1,18 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Test module config for Account apis">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsUnaffiliatedAccountAuthenticators.apk" />
+</configuration>
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/Android.mk b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/Android.mk
new file mode 100644
index 0000000..cb504da
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/Android.mk
@@ -0,0 +1,42 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# LOCAL_MODULE_TAGS := tests
+
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SDK_VERSION := current
+
+LOCAL_STATIC_JAVA_LIBRARIES := \
+        ctstestrunner \
+	CtsAccountTestsCommon
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_RESOURCE_DIR += $(LOCAL_PATH)/res
+
+LOCAL_PACKAGE_NAME := CtsUnaffiliatedAccountAuthenticators
+
+LOCAL_SDK_VERSION := current
+
+LOCAL_CERTIFICATE := cts/hostsidetests/appsecurity/certs/cts-testkey2
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/AndroidManifest.xml b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/AndroidManifest.xml
new file mode 100644
index 0000000..c32f89f
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/AndroidManifest.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.accounts.cts.unaffiliated">
+
+    <!-- Used for AccountManagerService test, don't delete this permission -->
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+
+    <application>
+
+        <activity
+                android:name="android.accounts.cts.common.TestAuthenticatorActivity"
+                android:exported="true" />
+
+        <provider
+                android:name="android.accounts.cts.common.AuthenticatorContentProvider"
+                android:authorities="android.accounts.cts.unaffiliated.authenticators.provider"
+                android:exported="true" />
+
+        <service
+                android:name=".StdAccountAuthService"
+                android:exported="false">
+            <intent-filter>
+                <action android:name="android.accounts.AccountAuthenticator" />
+            </intent-filter>
+            <meta-data android:name="android.accounts.AccountAuthenticator"
+                       android:resource="@xml/standard_authenticator" />
+        </service>
+<!--
+        <service android:name=".CustomAccountAuthService" android:exported="false">
+            <intent-filter>
+                <action android:name="android.accounts.AccountAuthenticator" />
+            </intent-filter>
+            <meta-data android:name="android.accounts.AccountAuthenticator"
+                       android:resource="@xml/custom_authenticator" />
+        </service>
+        -->
+
+    </application>
+</manifest>
+
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected.png b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected.png
new file mode 100644
index 0000000..c730050
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected.png
Binary files differ
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected_custom_account.png b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected_custom_account.png
new file mode 100644
index 0000000..3fbbc94
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_minitab_selected_custom_account.png
Binary files differ
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected.png b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected.png
new file mode 100644
index 0000000..72a065c
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected.png
Binary files differ
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected_custom_account.png b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected_custom_account.png
new file mode 100644
index 0000000..70e35c0
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/drawable/ic_cts_selected_custom_account.png
Binary files differ
diff --git a/tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/values/strings.xml
similarity index 66%
copy from tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java
copy to tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/values/strings.xml
index accdcaf..442669b 100644
--- a/tests/tests/hardware/src/android/hardware/input/cts/InputCallback.java
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/values/strings.xml
@@ -1,5 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
 /*
- * Copyright 2015 The Android Open Source Project
+ * Copyright (C) 2009 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,13 +15,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+-->
 
-package android.hardware.input.cts;
-
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-
-public interface InputCallback {
-    public void onKeyEvent(KeyEvent ev);
-    public void onMotionEvent(MotionEvent ev);
-}
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- Label for this package -->
+    <string name="label">Android CTS - Account</string>
+</resources>
\ No newline at end of file
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/custom_authenticator.xml b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/custom_authenticator.xml
new file mode 100644
index 0000000..3485f76
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/custom_authenticator.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!-- The attributes in this XML file provide configuration information -->
+<!-- for the Account Manager. -->
+
+<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
+    android:accountType="android.accounts.test.custom"
+    android:icon="@drawable/ic_cts_selected_custom_account"
+    android:smallIcon="@drawable/ic_cts_minitab_selected_custom_account"
+    android:customTokens="true"
+    android:label="@string/label"
+/>
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/standard_authenticator.xml b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/standard_authenticator.xml
new file mode 100644
index 0000000..0c843b9
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/res/xml/standard_authenticator.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/**
+ * Copyright (c) 2009, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+
+<!-- The attributes in this XML file provide configuration information -->
+<!-- for the Account Manager. -->
+
+<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
+    android:accountType="android.accounts.test.standard.unaffiliated"
+    android:icon="@drawable/ic_cts_selected"
+    android:smallIcon="@drawable/ic_cts_minitab_selected"
+    android:label="@string/label"
+/>
diff --git a/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/src/android/accounts/cts/unaffiliated/StdAccountAuthService.java b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/src/android/accounts/cts/unaffiliated/StdAccountAuthService.java
new file mode 100644
index 0000000..de87ac7
--- /dev/null
+++ b/tests/tests/accounts/CtsUnaffiliatedAccountAuthenticators/src/android/accounts/cts/unaffiliated/StdAccountAuthService.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts.unaffiliated;
+
+import android.accounts.cts.common.Fixtures;
+import android.accounts.cts.common.TestAccountAuthenticator;
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+/**
+ * a basic Mock Service for wrapping the MockAccountAuthenticator
+ */
+public class StdAccountAuthService extends Service {
+
+    @Override
+    public IBinder onBind(Intent intent) {
+        TestAccountAuthenticator auth =
+                new TestAccountAuthenticator(this, Fixtures.TYPE_STANDARD_UNAFFILIATED);
+        return auth.getIBinder();
+    }
+}
diff --git a/tests/tests/accounts/common/Android.mk b/tests/tests/accounts/common/Android.mk
new file mode 100644
index 0000000..cac9c5e
--- /dev/null
+++ b/tests/tests/accounts/common/Android.mk
@@ -0,0 +1,36 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+# Includes all the java files, and explicitly declares any aidl files
+LOCAL_SRC_FILES := \
+    $(call all-java-files-under, src) \
+    $(call all-Iaidl-files-under, src)
+
+LOCAL_AIDL_INCLUDES += $(LOCAL_PATH)/src
+
+LOCAL_MODULE:= CtsAccountTestsCommon
+
+LOCAL_SDK_VERSION := current
+
+# Build the actual static library
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/tests/accounts/common/AndroidManifest.xml b/tests/tests/accounts/common/AndroidManifest.xml
new file mode 100644
index 0000000..6e6d107
--- /dev/null
+++ b/tests/tests/accounts/common/AndroidManifest.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.accounts.test.shared">
+    <uses-sdk
+        android:minSdkVersion="4" />
+    <application />
+</manifest>
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/AuthenticatorContentProvider.java b/tests/tests/accounts/common/src/android/accounts/cts/common/AuthenticatorContentProvider.java
new file mode 100644
index 0000000..b52dae3
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/AuthenticatorContentProvider.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts.common;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AuthenticatorDescription;
+import android.content.ContentProvider;
+import android.content.ContentValues;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Parcelable;
+
+import java.util.concurrent.atomic.AtomicReference;
+
+public class AuthenticatorContentProvider extends ContentProvider {
+
+    public static final String AUTHORITY =
+            "android.accounts.cts.unaffiliated.authenticators.provider";
+
+    public static final int RESULT_SUCCESS = 1;
+    public static final int RESULT_FAIL = 2;
+
+    public static final String METHOD_GET = "get";
+    public static final String METHOD_SETUP = "setup";
+    public static final String METHOD_TEARDOWN = "setup";
+
+    public static final int ACTION_GET = 1;
+    public static final int ACTION_SETUP = 2;
+    public static final int ACTION_TEARDOWN = 3;
+
+    public static final int ARG_UNAFFILIATED = 10;
+    public static final int ARG_AFFILIATED = 11;
+
+    public static final String KEY_CALLBACK = "callback";
+    public static final String KEY_TX = "tx";
+
+    public static final AtomicReference<Parcelable> sLastTx = new AtomicReference<>();
+
+    public static void setTx(Parcelable tx) {
+        sLastTx.set(tx);
+    }
+
+    @Override
+    // public void handleMessage(Message msg) {
+    public Bundle call(String method, String arg, Bundle extras) {
+        super.call(method, arg, extras);
+        Bundle result = new Bundle();
+        if (METHOD_GET.equals(method)) {
+            result.putParcelable(KEY_TX, sLastTx.get());
+            return result;
+        } else if (METHOD_SETUP.equals(method)) {
+            setup();
+            return result;
+        } else if (METHOD_TEARDOWN.equals(method)) {
+            teardown();
+            return result;
+        } else {
+            throw new IllegalArgumentException("Unrecognized method!");
+        }
+    }
+
+    public void setup() {
+        Context context = getContext();
+        AccountManager am = AccountManager.get(context);
+        AuthenticatorDescription[] authenticators = am.getAuthenticatorTypes();
+        for (AuthenticatorDescription a : authenticators) {
+            /*
+             * Populate relevant test information for authenticators in the
+             * same package as the TestAuthenticatorSupportHandler.
+             */
+            if (a.packageName.equals(context.getPackageName())) {
+                for (String name : Fixtures.getFixtureAccountNames()) {
+                    Account account = new Account(name, a.type);
+                    am.addAccountExplicitly(account, Fixtures.PREFIX_PASSWORD + name, null);
+                }
+            }
+        }
+    }
+
+    public void teardown() {
+        Context context = getContext();
+        AccountManager am = AccountManager.get(context);
+        AuthenticatorDescription[] authenticators = am.getAuthenticatorTypes();
+        for (AuthenticatorDescription a : authenticators) {
+            /*
+             * Populate relevant test information for authenticators in the
+             * same package as the TestAuthenticatorSupportHandler.
+             */
+            if (a.packageName.equals(context.getPackageName())) {
+                Account[] accountsToRemove = am.getAccountsByType(a.type);
+                for (Account account : accountsToRemove) {
+                    am.removeAccountExplicitly(account);
+                }
+            }
+        }
+    }
+
+    @Override
+    public boolean onCreate() {
+        return true;   
+    }
+
+    @Override
+    public Cursor query(
+            Uri uri, 
+            String[] projection,
+            String selection,
+            String[] selectionArgs,
+            String sortOrder) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public String getType(Uri uri) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public Uri insert(Uri uri, ContentValues values) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int delete(Uri uri, String selection, String[] selectionArgs) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
+        throw new UnsupportedOperationException();
+    }
+}
+
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/Fixtures.java b/tests/tests/accounts/common/src/android/accounts/cts/common/Fixtures.java
new file mode 100644
index 0000000..f8636a0
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/Fixtures.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts.common;
+
+import android.accounts.Account;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Constants shared amongst account hostside tests.
+ */
+public final class Fixtures {
+
+    public static final String TYPE_CUSTOM = "android.accounts.test.custom";
+    public static final String TYPE_STANDARD = "android.accounts.test.standard";
+
+    public static final String TYPE_STANDARD_UNAFFILIATED =
+            "android.accounts.test.standard.unaffiliated";
+
+    public static final String PREFIX_TOKEN = "token:";
+    public static final String PREFIX_PASSWORD = "password:";
+
+    public static final String SUFFIX_NAME_FIXTURE = "fixture.com";
+    public static final String SUFFIX_NAME_TEST = "test.com";
+
+    public static final String PREFIX_NAME_SUCCESS = "success_on_return";
+    public static final String PREFIX_NAME_ERROR = "error";
+    public static final String PREFIX_NAME_INTERVENE = "intervene";
+
+    private static final String[] accountNamePrefixes = new String[] {
+            PREFIX_NAME_SUCCESS,
+            PREFIX_NAME_ERROR,
+            PREFIX_NAME_INTERVENE
+    };
+
+    public static final Account ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS = new Account(
+            PREFIX_NAME_SUCCESS + "@" + SUFFIX_NAME_FIXTURE,
+            TYPE_STANDARD_UNAFFILIATED);
+
+    public static List<String> getFixtureAccountNames() {
+        List<String> accountNames = new ArrayList<>(accountNamePrefixes.length);
+        for (String prefix : accountNamePrefixes) {
+            accountNames.add(prefix + "@" + SUFFIX_NAME_FIXTURE);
+        }
+        return accountNames;
+    }
+
+    public static final int TEST_SUPPORT_RESULT_SUCCESS = 1;
+    public static final int TEST_SUPPORT_RESULT_FAIL = 2;
+
+    public static final String KEY_ACCOUNT_NAME = "test:account_name";
+
+    public static final String KEY_CALLBACK = "test:callback";
+    public static final String KEY_CALLBACK_REQUIRED = "test:callback_required";
+    public static final String KEY_RESULT = "test:result";
+    public static final String KEY_TOKEN_EXPIRY = "test:token_duration";
+
+    private Fixtures() {}
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/TestAccountAuthenticator.java b/tests/tests/accounts/common/src/android/accounts/cts/common/TestAccountAuthenticator.java
new file mode 100644
index 0000000..1fac1ea
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/TestAccountAuthenticator.java
@@ -0,0 +1,326 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts.common;
+
+import android.accounts.AbstractAccountAuthenticator;
+import android.accounts.Account;
+import android.accounts.AccountAuthenticatorResponse;
+import android.accounts.AccountManager;
+import android.accounts.NetworkErrorException;
+import android.accounts.cts.common.tx.AddAccountTx;
+import android.accounts.cts.common.tx.ConfirmCredentialsTx;
+import android.accounts.cts.common.tx.GetAuthTokenLabelTx;
+import android.accounts.cts.common.tx.GetAuthTokenTx;
+import android.accounts.cts.common.tx.HasFeaturesTx;
+import android.accounts.cts.common.tx.UpdateCredentialsTx;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import java.util.Arrays;
+
+public class TestAccountAuthenticator extends AbstractAccountAuthenticator {
+
+    private final String mAccountType;
+    private final Context mContext;
+    private volatile int mCounter = 0;
+
+    public TestAccountAuthenticator(Context context, String accountType) {
+        super(context);
+        mContext = context;
+        mAccountType = accountType;
+    }
+
+    @Override
+    public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) {
+        throw new UnsupportedOperationException(
+                "editProperties should be tested using the MockAuthenticator");
+    }
+
+    @Override
+    public Bundle addAccount(
+            AccountAuthenticatorResponse response,
+            String accountType,
+            String authTokenType,
+            String[] requiredFeatures,
+            Bundle options) throws NetworkErrorException {
+        if (!mAccountType.equals(accountType)) {
+            throw new IllegalArgumentException("Request to the wrong authenticator!");
+        }
+        String accountName = null;
+        boolean isCallbackRequired = false;
+        if (options != null) {
+            accountName = options.getString(Fixtures.KEY_ACCOUNT_NAME);
+            isCallbackRequired = options.getBoolean(Fixtures.KEY_CALLBACK_REQUIRED, false);
+        }
+        Bundle result = new Bundle();
+        AuthenticatorContentProvider.setTx(
+                new AddAccountTx(accountType, authTokenType, requiredFeatures, options, result));
+        if (accountName.startsWith(Fixtures.PREFIX_NAME_SUCCESS)) {
+            // fill bundle with a success result.
+            result.putString(AccountManager.KEY_ACCOUNT_NAME, accountName);
+            result.putString(AccountManager.KEY_ACCOUNT_TYPE, mAccountType);
+        } else if (accountName.startsWith(Fixtures.PREFIX_NAME_INTERVENE)) {
+            // Specify data to be returned by the eventual activity.
+            Intent eventualActivityResultData = new Intent();
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_NAME, accountName);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_TYPE, accountType);
+            // Fill result with Intent.
+            Intent intent = new Intent(mContext, TestAuthenticatorActivity.class);
+            intent.putExtra(Fixtures.KEY_RESULT, eventualActivityResultData);
+            intent.putExtra(Fixtures.KEY_CALLBACK, response);
+
+            result.putParcelable(AccountManager.KEY_INTENT, intent);
+        } else {
+            // fill with error
+            int errorCode = AccountManager.ERROR_CODE_INVALID_RESPONSE;
+            String errorMsg = "Default Error Message";
+            if (options != null) {
+                errorCode = options.getInt(AccountManager.KEY_ERROR_CODE);
+                errorMsg = options.getString(AccountManager.KEY_ERROR_MESSAGE);
+            }
+            result.putInt(AccountManager.KEY_ERROR_CODE, errorCode);
+            result.putString(AccountManager.KEY_ERROR_MESSAGE, errorMsg);
+        }
+
+        try {
+            return (isCallbackRequired) ? null : result;
+        } finally {
+            if (isCallbackRequired) {
+                response.onResult(result);
+            }
+        }
+    }
+
+    @Override
+    public Bundle confirmCredentials(
+            AccountAuthenticatorResponse response,
+            Account account,
+            Bundle options) throws NetworkErrorException {
+        if (!mAccountType.equals(account.type)) {
+            throw new IllegalArgumentException("Request to the wrong authenticator!");
+        }
+        Bundle result = new Bundle();
+        AuthenticatorContentProvider.setTx(
+                new ConfirmCredentialsTx(account, options, result));
+
+        boolean isCallbackRequired =
+                options != null && options.getBoolean(Fixtures.KEY_CALLBACK_REQUIRED);
+        if (account.name.startsWith(Fixtures.PREFIX_NAME_SUCCESS)) {
+            // fill bundle with a success result.
+            result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+            result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+        } else if (account.name.startsWith(Fixtures.PREFIX_NAME_INTERVENE)) {
+            // Specify data to be returned by the eventual activity.
+            Intent eventualActivityResultData = new Intent();
+            eventualActivityResultData.putExtra(AccountManager.KEY_BOOLEAN_RESULT, true);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+
+            // Fill result with Intent.
+            Intent intent = new Intent(mContext, TestAuthenticatorActivity.class);
+            intent.putExtra(Fixtures.KEY_RESULT, eventualActivityResultData);
+            intent.putExtra(Fixtures.KEY_CALLBACK, response);
+
+            result.putParcelable(AccountManager.KEY_INTENT, intent);
+        } else {
+            // fill with error
+            // fill with error
+            int errorCode = AccountManager.ERROR_CODE_INVALID_RESPONSE;
+            String errorMsg = "Default Error Message";
+            if (options != null) {
+                errorCode = options.getInt(AccountManager.KEY_ERROR_CODE);
+                errorMsg = options.getString(AccountManager.KEY_ERROR_MESSAGE);
+            }
+            result.putInt(AccountManager.KEY_ERROR_CODE, errorCode);
+            result.putString(AccountManager.KEY_ERROR_MESSAGE, errorMsg);
+        }
+
+        try {
+            return (isCallbackRequired) ? null : result;
+        } finally {
+            if (isCallbackRequired) {
+                response.onResult(result);
+            }
+        }
+    }
+
+    @Override
+    public Bundle getAuthToken(
+            AccountAuthenticatorResponse response,
+            Account account,
+            String authTokenType,
+            Bundle options) throws NetworkErrorException {
+        if (!mAccountType.equals(account.type)) {
+            throw new IllegalArgumentException("Request to the wrong authenticator!");
+        }
+        Bundle result = new Bundle();
+        AuthenticatorContentProvider.setTx(
+                new GetAuthTokenTx(account, authTokenType, options, result));
+        boolean isCallbackRequired =
+                options != null && options.getBoolean(Fixtures.KEY_CALLBACK_REQUIRED);
+        long expiryMillis = (options == null) ? 0 : options.getLong(Fixtures.KEY_TOKEN_EXPIRY);
+        if (account.name.startsWith(Fixtures.PREFIX_NAME_SUCCESS)) {
+            // fill bundle with a success result.
+            result.putString(
+                    AccountManager.KEY_AUTHTOKEN, Fixtures.PREFIX_TOKEN + mCounter++);
+            result.putLong(
+                    AbstractAccountAuthenticator.KEY_CUSTOM_TOKEN_EXPIRY,
+                    expiryMillis);
+            result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+        } else if (account.name.startsWith(Fixtures.PREFIX_NAME_INTERVENE)) {
+            // Specify data to be returned by the eventual activity.
+            Intent eventualActivityResultData = new Intent();
+            eventualActivityResultData.putExtra(
+                    AccountManager.KEY_AUTHTOKEN, Fixtures.PREFIX_TOKEN + mCounter++);
+            eventualActivityResultData.putExtra(
+                    AbstractAccountAuthenticator.KEY_CUSTOM_TOKEN_EXPIRY,
+                    expiryMillis);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+
+            // Fill result with Intent.
+            Intent intent = new Intent(mContext, TestAuthenticatorActivity.class);
+            intent.putExtra(Fixtures.KEY_RESULT, eventualActivityResultData);
+            intent.putExtra(Fixtures.KEY_CALLBACK, response);
+
+            result.putParcelable(AccountManager.KEY_INTENT, intent);
+
+        } else {
+            // fill with error
+            int errorCode = AccountManager.ERROR_CODE_INVALID_RESPONSE;
+            String errorMsg = "Default Error Message";
+            if (options != null) {
+                errorCode = options.getInt(AccountManager.KEY_ERROR_CODE);
+                errorMsg = options.getString(AccountManager.KEY_ERROR_MESSAGE);
+            }
+            result.putInt(AccountManager.KEY_ERROR_CODE, errorCode);
+            result.putString(AccountManager.KEY_ERROR_MESSAGE, errorMsg);
+        }
+
+        try {
+            return (isCallbackRequired) ? null : result;
+        } finally {
+            if (isCallbackRequired) {
+                response.onResult(result);
+            }
+        }
+    }
+
+    @Override
+    public String getAuthTokenLabel(String authTokenType) {
+        String result = "Label:" + authTokenType;
+        AuthenticatorContentProvider.setTx(
+                new GetAuthTokenLabelTx(authTokenType, result));
+        return result;
+    }
+
+    @Override
+    public Bundle updateCredentials(
+            AccountAuthenticatorResponse response,
+            Account account,
+            String authTokenType,
+            Bundle options) throws NetworkErrorException {
+        if (!mAccountType.equals(account.type)) {
+            throw new IllegalArgumentException("Request to the wrong authenticator!");
+        }
+        Bundle result = new Bundle();
+        AuthenticatorContentProvider.setTx(
+                new UpdateCredentialsTx(account, authTokenType, options, result));
+
+        boolean isCallbackRequired =
+                options != null && options.getBoolean(Fixtures.KEY_CALLBACK_REQUIRED);
+        if (account.name.startsWith(Fixtures.PREFIX_NAME_SUCCESS)) {
+            // fill bundle with a success result.
+            result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            result.putString(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+        } else if (account.name.startsWith(Fixtures.PREFIX_NAME_INTERVENE)) {
+            // Specify data to be returned by the eventual activity.
+            Intent eventualActivityResultData = new Intent();
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_NAME, account.name);
+            eventualActivityResultData.putExtra(AccountManager.KEY_ACCOUNT_TYPE, account.type);
+
+            // Fill result with Intent.
+            Intent intent = new Intent(mContext, TestAuthenticatorActivity.class);
+            intent.putExtra(Fixtures.KEY_RESULT, eventualActivityResultData);
+            intent.putExtra(Fixtures.KEY_CALLBACK, response);
+
+            result.putParcelable(AccountManager.KEY_INTENT, intent);
+        } else {
+            // fill with error
+            // fill with error
+            int errorCode = AccountManager.ERROR_CODE_INVALID_RESPONSE;
+            String errorMsg = "Default Error Message";
+            if (options != null) {
+                errorCode = options.getInt(AccountManager.KEY_ERROR_CODE);
+                errorMsg = options.getString(AccountManager.KEY_ERROR_MESSAGE);
+            }
+            result.putInt(AccountManager.KEY_ERROR_CODE, errorCode);
+            result.putString(AccountManager.KEY_ERROR_MESSAGE, errorMsg);
+        }
+
+        try {
+            return (isCallbackRequired) ? null : result;
+        } finally {
+            if (isCallbackRequired) {
+                response.onResult(result);
+            }
+        }
+    }
+
+    @Override
+    public Bundle hasFeatures(
+            AccountAuthenticatorResponse response,
+            Account account,
+            String[] features) throws NetworkErrorException {
+        if (!mAccountType.equals(account.type)) {
+            throw new IllegalArgumentException("Request to the wrong authenticator!");
+        }
+        Bundle result = new Bundle();
+        AuthenticatorContentProvider.setTx(
+                new HasFeaturesTx(account, features, result));
+        boolean isCallbackRequired =
+                Arrays.asList(features).contains(Fixtures.KEY_CALLBACK_REQUIRED);
+        if (account.name.startsWith(Fixtures.PREFIX_NAME_SUCCESS)) {
+            // fill bundle with a success result.
+            result.putBoolean(AccountManager.KEY_BOOLEAN_RESULT, true);
+        } else if (account.name.startsWith(Fixtures.PREFIX_NAME_INTERVENE)) {
+            // Specify data to be returned by the eventual activity.
+            Intent eventualActivityResultData = new Intent();
+            eventualActivityResultData.putExtra(AccountManager.KEY_BOOLEAN_RESULT, true);
+
+            Intent intent = new Intent(mContext, TestAuthenticatorActivity.class);
+            intent.putExtra(Fixtures.KEY_RESULT, eventualActivityResultData);
+            intent.putExtra(Fixtures.KEY_CALLBACK, response);
+
+            result.putParcelable(AccountManager.KEY_INTENT, intent);
+        } else {
+            // fill with error
+        }
+
+        try {
+            return (isCallbackRequired) ? null : result;
+        } finally {
+            if (isCallbackRequired) {
+                response.onResult(result);
+            }
+        }
+    }
+}
+
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/TestAuthenticatorActivity.java b/tests/tests/accounts/common/src/android/accounts/cts/common/TestAuthenticatorActivity.java
new file mode 100644
index 0000000..83c0533
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/TestAuthenticatorActivity.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts.common;
+
+import android.accounts.AccountAuthenticatorResponse;
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+
+public class TestAuthenticatorActivity extends Activity {
+
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        Intent intent = getIntent();
+        AccountAuthenticatorResponse response = intent.getParcelableExtra(Fixtures.KEY_CALLBACK);
+        Intent result = intent.getParcelableExtra(Fixtures.KEY_RESULT);
+        if (response != null) {
+            response.onResult(result.getExtras());
+        }
+        setResult(RESULT_OK, result);
+        finish();
+    }
+}
+
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.aidl
new file mode 100644
index 0000000..912322a
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable AddAccountTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.java
new file mode 100644
index 0000000..3d829315
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/AddAccountTx.java
@@ -0,0 +1,70 @@
+package android.accounts.cts.common.tx;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AddAccountTx implements Parcelable {
+
+    public static final Parcelable.Creator<AddAccountTx> CREATOR =
+            new Parcelable.Creator<AddAccountTx>() {
+
+                @Override
+                public AddAccountTx createFromParcel(Parcel in) {
+                    return new AddAccountTx(in);
+                }
+
+                @Override
+                public AddAccountTx[] newArray(int size) {
+                    return new AddAccountTx[size];
+                }
+            };
+
+    public final String accountType;
+    public final String authTokenType;
+    public final List<String> requiredFeatures = new ArrayList<>();
+    public final Bundle options;
+    public final Bundle result;
+
+    private AddAccountTx(Parcel in) {
+        accountType = in.readString();
+        authTokenType = in.readString();
+        in.readStringList(requiredFeatures);
+        options = in.readBundle();
+        result = in.readBundle();
+    }
+
+    public AddAccountTx(
+            String accountType,
+            String authTokenType,
+            String[] requiredFeatures,
+            Bundle options,
+            Bundle result) {
+        this.accountType = accountType;
+        this.authTokenType = authTokenType;
+        if (requiredFeatures != null) {
+            for (String feature : requiredFeatures) {
+                this.requiredFeatures.add(feature);
+            }
+        }
+        this.options = options;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeString(accountType);
+        out.writeString(authTokenType);
+        out.writeStringList(requiredFeatures);
+        out.writeBundle(options);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.aidl
new file mode 100644
index 0000000..98a6367
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable ConfirmCredentialsTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.java
new file mode 100644
index 0000000..d73b0a5
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/ConfirmCredentialsTx.java
@@ -0,0 +1,54 @@
+package android.accounts.cts.common.tx;
+
+import android.accounts.Account;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class ConfirmCredentialsTx implements Parcelable {
+
+    public static final Parcelable.Creator<ConfirmCredentialsTx> CREATOR =
+            new Parcelable.Creator<ConfirmCredentialsTx>() {
+
+                @Override
+                public ConfirmCredentialsTx createFromParcel(Parcel in) {
+                    return new ConfirmCredentialsTx(in);
+                }
+
+                @Override
+                public ConfirmCredentialsTx[] newArray(int size) {
+                    return new ConfirmCredentialsTx[size];
+                }
+            };
+
+    public final Account account;
+    public final Bundle options;
+    public final Bundle result;
+
+    private ConfirmCredentialsTx(Parcel in) {
+        account = in.readParcelable(null);
+        options = in.readBundle();
+        result = in.readBundle();
+    }
+
+    public ConfirmCredentialsTx(
+            Account account,
+            Bundle options,
+            Bundle result) {
+        this.account = account;
+        this.options = options;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(account, flags);
+        out.writeBundle(options);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.aidl
new file mode 100644
index 0000000..d9e813f
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable EditPropertiesTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.java
new file mode 100644
index 0000000..4eba64d
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/EditPropertiesTx.java
@@ -0,0 +1,48 @@
+package android.accounts.cts.common.tx;
+
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class EditPropertiesTx implements Parcelable {
+
+    public static final Parcelable.Creator<EditPropertiesTx> CREATOR =
+            new Parcelable.Creator<EditPropertiesTx>() {
+
+                @Override
+                public EditPropertiesTx createFromParcel(Parcel in) {
+                    return new EditPropertiesTx(in);
+                }
+
+                @Override
+                public EditPropertiesTx[] newArray(int size) {
+                    return new EditPropertiesTx[size];
+                }
+            };
+
+    public final String accountType;
+    public final Bundle result;
+
+    private EditPropertiesTx(Parcel in) {
+        accountType = in.readString();
+        result = in.readBundle();
+    }
+
+    public EditPropertiesTx(
+            String accountType,
+            Bundle result) {
+        this.accountType = accountType;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeString(accountType);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.aidl
new file mode 100644
index 0000000..cbcd99d
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable GetAccountRemovalAllowedTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.java
new file mode 100644
index 0000000..0e456b0
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAccountRemovalAllowedTx.java
@@ -0,0 +1,49 @@
+package android.accounts.cts.common.tx;
+
+import android.accounts.Account;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class GetAccountRemovalAllowedTx implements Parcelable {
+
+    public static final Parcelable.Creator<GetAccountRemovalAllowedTx> CREATOR =
+            new Parcelable.Creator<GetAccountRemovalAllowedTx>() {
+
+                @Override
+                public GetAccountRemovalAllowedTx createFromParcel(Parcel in) {
+                    return new GetAccountRemovalAllowedTx(in);
+                }
+
+                @Override
+                public GetAccountRemovalAllowedTx[] newArray(int size) {
+                    return new GetAccountRemovalAllowedTx[size];
+                }
+            };
+
+    public final Account account;
+    public final Bundle result;
+
+    private GetAccountRemovalAllowedTx(Parcel in) {
+        account = in.readParcelable(null);
+        result = in.readBundle();
+    }
+
+    public GetAccountRemovalAllowedTx(
+            Account account,
+            Bundle result) {
+        this.account = account;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(account, flags);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.aidl
new file mode 100644
index 0000000..82aeb9e
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable GetAuthTokenLabelTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.java
new file mode 100644
index 0000000..4a017dd
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenLabelTx.java
@@ -0,0 +1,47 @@
+package android.accounts.cts.common.tx;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class GetAuthTokenLabelTx implements Parcelable {
+
+    public static final Parcelable.Creator<GetAuthTokenLabelTx> CREATOR =
+            new Parcelable.Creator<GetAuthTokenLabelTx>() {
+
+                @Override
+                public GetAuthTokenLabelTx createFromParcel(Parcel in) {
+                    return new GetAuthTokenLabelTx(in);
+                }
+
+                @Override
+                public GetAuthTokenLabelTx[] newArray(int size) {
+                    return new GetAuthTokenLabelTx[size];
+                }
+            };
+
+    public final String authTokenType;
+    public final String result;
+
+    private GetAuthTokenLabelTx(Parcel in) {
+        authTokenType = in.readString();
+        result = in.readString();
+    }
+
+    public GetAuthTokenLabelTx(
+            String authTokenType,
+            String result) {
+        this.authTokenType = authTokenType;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeString(authTokenType);
+        out.writeString(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.aidl
new file mode 100644
index 0000000..4ff5abb
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable GetAuthTokenTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.java
new file mode 100644
index 0000000..c328353
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/GetAuthTokenTx.java
@@ -0,0 +1,59 @@
+package android.accounts.cts.common.tx;
+
+import android.accounts.Account;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class GetAuthTokenTx implements Parcelable {
+
+    public static final Parcelable.Creator<GetAuthTokenTx> CREATOR =
+            new Parcelable.Creator<GetAuthTokenTx>() {
+
+                @Override
+                public GetAuthTokenTx createFromParcel(Parcel in) {
+                    return new GetAuthTokenTx(in);
+                }
+
+                @Override
+                public GetAuthTokenTx[] newArray(int size) {
+                    return new GetAuthTokenTx[size];
+                }
+            };
+
+    public final Account account;
+    public final String authTokenType;
+    public final Bundle options;
+    public final Bundle result;
+
+    private GetAuthTokenTx(Parcel in) {
+        account = in.readParcelable(null);
+        authTokenType = in.readString();
+        options = in.readBundle();
+        result = in.readBundle();
+    }
+
+    public GetAuthTokenTx(
+            Account account,
+            String authTokenType,
+            Bundle options,
+            Bundle result) {
+        this.account = account;
+        this.authTokenType = authTokenType;
+        this.options = options;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(account, flags);
+        out.writeString(authTokenType);
+        out.writeBundle(options);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.aidl
new file mode 100644
index 0000000..20b4a67
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable HasFeaturesTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.java
new file mode 100644
index 0000000..81d3446
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/HasFeaturesTx.java
@@ -0,0 +1,61 @@
+package android.accounts.cts.common.tx;
+
+import android.accounts.Account;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class HasFeaturesTx implements Parcelable {
+
+    public static final Parcelable.Creator<HasFeaturesTx> CREATOR =
+            new Parcelable.Creator<HasFeaturesTx>() {
+
+                @Override
+                public HasFeaturesTx createFromParcel(Parcel in) {
+                    return new HasFeaturesTx(in);
+                }
+
+                @Override
+                public HasFeaturesTx[] newArray(int size) {
+                    return new HasFeaturesTx[size];
+                }
+            };
+
+    public final Account account;
+    public final List<String> features = new ArrayList<>();
+    public final Bundle result;
+
+    private HasFeaturesTx(Parcel in) {
+        account = in.readParcelable(null);
+        in.readStringList(features);
+        result = in.readBundle();
+    }
+
+    public HasFeaturesTx(
+            Account account,
+            String[] features,
+            Bundle result) {
+        this.account = account;
+        if (features != null) {
+            for (String feature : features) {
+                this.features.add(feature);
+            }
+        }
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(account, flags);
+        out.writeStringList(features);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.aidl b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.aidl
new file mode 100644
index 0000000..8106242
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.aidl
@@ -0,0 +1,3 @@
+package android.accounts.cts.common.tx;
+
+parcelable UpdateCredentialsTx;
diff --git a/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.java b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.java
new file mode 100644
index 0000000..ed2e082
--- /dev/null
+++ b/tests/tests/accounts/common/src/android/accounts/cts/common/tx/UpdateCredentialsTx.java
@@ -0,0 +1,59 @@
+package android.accounts.cts.common.tx;
+
+import android.accounts.Account;
+import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class UpdateCredentialsTx implements Parcelable {
+
+    public static final Parcelable.Creator<UpdateCredentialsTx> CREATOR =
+            new Parcelable.Creator<UpdateCredentialsTx>() {
+
+                @Override
+                public UpdateCredentialsTx createFromParcel(Parcel in) {
+                    return new UpdateCredentialsTx(in);
+                }
+
+                @Override
+                public UpdateCredentialsTx[] newArray(int size) {
+                    return new UpdateCredentialsTx[size];
+                }
+            };
+
+    public final Account account;
+    public final String authTokenType;
+    public final Bundle options;
+    public final Bundle result;
+
+    private UpdateCredentialsTx(Parcel in) {
+        account = in.readParcelable(null);
+        authTokenType = in.readString();
+        options = in.readBundle();
+        result = in.readBundle();
+    }
+
+    public UpdateCredentialsTx(
+            Account account,
+            String authTokenType,
+            Bundle options,
+            Bundle result) {
+        this.account = account;
+        this.authTokenType = authTokenType;
+        this.options = options;
+        this.result = result;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(account, flags);
+        out.writeString(authTokenType);
+        out.writeBundle(options);
+        out.writeBundle(result);
+    }
+}
diff --git a/tests/tests/accounts/src/android/accounts/cts/AccountManagerUnaffiliatedAuthenticatorTests.java b/tests/tests/accounts/src/android/accounts/cts/AccountManagerUnaffiliatedAuthenticatorTests.java
new file mode 100644
index 0000000..2068f4c
--- /dev/null
+++ b/tests/tests/accounts/src/android/accounts/cts/AccountManagerUnaffiliatedAuthenticatorTests.java
@@ -0,0 +1,226 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.accounts.cts;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.accounts.AccountManagerFuture;
+import android.accounts.AuthenticatorException;
+import android.accounts.OperationCanceledException;
+import android.accounts.cts.common.AuthenticatorContentProvider;
+import android.accounts.cts.common.Fixtures;
+import android.content.ContentProviderClient;
+import android.content.ContentResolver;
+import android.os.RemoteException;
+import android.test.AndroidTestCase;
+
+import java.io.IOException;
+
+/**
+ * Tests for AccountManager and AbstractAccountAuthenticator related behavior using {@link
+ * android.accounts.cts.common.TestAccountAuthenticator} instances signed with different keys than
+ * the caller. This is important to test that portion of the {@link AccountManager} API intended
+ * for {@link android.accounts.AbstractAccountAuthenticator} implementers.
+ * <p>
+ * You can run those unit tests with the following command line:
+ * <p>
+ *  adb shell am instrument
+ *   -e debug false -w
+ *   -e class android.accounts.cts.AccountManagerUnaffiliatedAuthenticatorTests
+ * android.accounts.cts/android.support.test.runner.AndroidJUnitRunner
+ */
+public class AccountManagerUnaffiliatedAuthenticatorTests extends AndroidTestCase {
+
+    private AccountManager mAccountManager;
+    private ContentProviderClient mProviderClient;
+
+    @Override
+    public void setUp() throws Exception {
+        // bind to the diagnostic service and set it up.
+        mAccountManager = AccountManager.get(getContext());
+        ContentResolver resolver = getContext().getContentResolver();
+        mProviderClient = resolver.acquireContentProviderClient(
+                AuthenticatorContentProvider.AUTHORITY);
+        /*
+         * This will install a bunch of accounts on the device
+         * (see Fixtures.getFixtureAccountNames()).
+         */
+        mProviderClient.call(AuthenticatorContentProvider.METHOD_SETUP, null, null);
+    }
+
+    @Override
+    public void tearDown() throws RemoteException {
+        try {
+            mProviderClient.call(AuthenticatorContentProvider.METHOD_TEARDOWN, null, null);
+        } finally {
+            mProviderClient.release();
+        }
+    }
+
+    public void testNotifyAccountAuthenticated() {
+        try {
+            mAccountManager.notifyAccountAuthenticated(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS);
+            fail("Expected to just barf if the caller doesn't share a signature.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testEditProperties()  {
+        try {
+            mAccountManager.editProperties(
+                    Fixtures.TYPE_STANDARD_UNAFFILIATED,
+                    null, // activity
+                    null, // callback
+                    null); // handler
+            fail("Expecting a OperationCanceledException.");
+        } catch (SecurityException expected) {
+            
+        }
+    }
+
+    public void testAddAccountExplicitly() {
+        try {
+            mAccountManager.addAccountExplicitly(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "shouldn't matter", // password
+                    null); // bundle
+            fail("addAccountExplicitly should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testRemoveAccount_withBooleanResult() {
+        try {
+            mAccountManager.removeAccount(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    null,
+                    null);
+            fail("removeAccount should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testRemoveAccount_withBundleResult() {
+        try {
+            mAccountManager.removeAccount(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    null, // Activity
+                    null,
+                    null);
+            fail("removeAccount should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testRemoveAccountExplicitly() {
+        try {
+            mAccountManager.removeAccountExplicitly(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS);
+            fail("removeAccountExplicitly should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testGetPassword() {
+        try {
+            mAccountManager.getPassword(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS);
+            fail("getPassword should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testSetPassword() {
+        try {
+            mAccountManager.setPassword(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "Doesn't matter");
+            fail("setPassword should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testClearPassword() {
+        try {
+            mAccountManager.clearPassword(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS);
+            fail("clearPassword should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testGetUserData() {
+        try {
+            mAccountManager.getUserData(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "key");
+            fail("getUserData should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testSetUserData() {
+        try {
+            mAccountManager.setUserData(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "key",
+                    "value");
+            fail("setUserData should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void setAuthToken() {
+        try {
+            mAccountManager.setAuthToken(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "tokenType",
+                    "token");
+            fail("setAuthToken should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testPeekAuthToken() {
+        try {
+            mAccountManager.peekAuthToken(
+                    Fixtures.ACCOUNT_UNAFFILIATED_FIXTURE_SUCCESS,
+                    "tokenType");
+            fail("peekAuthToken should just barf if the caller isn't permitted.");
+        } catch (SecurityException expected) {}
+    }
+
+    public void testGetAccounts() {
+        Account[] accounts = mAccountManager.getAccounts();
+        assertEquals(0, accounts.length);
+    }
+
+    public void testGetAccountsByType() {
+        Account[] accounts = mAccountManager.getAccountsByType(
+                Fixtures.TYPE_STANDARD_UNAFFILIATED);
+        assertEquals(0, accounts.length);
+    }
+
+    public void testGetAccountsByTypeAndFeatures()
+            throws OperationCanceledException, AuthenticatorException, IOException {
+        AccountManagerFuture<Account[]> future = mAccountManager.getAccountsByTypeAndFeatures(
+                Fixtures.TYPE_STANDARD_UNAFFILIATED,
+                new String[] { "doesn't matter" },
+                null,  // Callback
+                null);  // Handler
+        Account[] accounts = future.getResult();
+        assertEquals(0, accounts.length);
+    }
+
+    public void testGetAccountsByTypeForPackage() {
+        Account[] accounts = mAccountManager.getAccountsByTypeForPackage(
+                Fixtures.TYPE_STANDARD_UNAFFILIATED,
+                getContext().getPackageName());
+        assertEquals(0, accounts.length);
+    }
+}
+
diff --git a/tests/tests/admin/AndroidTest.xml b/tests/tests/admin/AndroidTest.xml
new file mode 100644
index 0000000..c29d404
--- /dev/null
+++ b/tests/tests/admin/AndroidTest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="CTS device admin test config">
+    <include name="common-config" />
+    <option name="run-command:run-command" value="dpm set-active-admin android.deviceadmin.cts/.CtsDeviceAdminReceiver" />
+    <option name="run-command:run-command" value="dpm set-active-admin android.deviceadmin.cts/.CtsDeviceAdminReceiver2" />
+</configuration>
diff --git a/tests/tests/admin/src/android/admin/cts/DevicePolicyManagerTest.java b/tests/tests/admin/src/android/admin/cts/DevicePolicyManagerTest.java
index 7bc08c6..66e12c0 100644
--- a/tests/tests/admin/src/android/admin/cts/DevicePolicyManagerTest.java
+++ b/tests/tests/admin/src/android/admin/cts/DevicePolicyManagerTest.java
@@ -68,6 +68,8 @@
             "VcUyQ1/e7WQgOaBHi9TefUJi+4PSVSluOXon\n" +
             "-----END CERTIFICATE-----";
 
+    private static final String MANAGED_PROVISIONING_PKG = "com.android.managedprovisioning";
+
     @Override
     protected void setUp() throws Exception {
         super.setUp();
@@ -524,6 +526,23 @@
         }
     }
 
+    public void testKeyguardDisabledFeatures() {
+        if (!mDeviceAdmin) {
+            Log.w(TAG, "Skipping testKeyguardDisabledFeatures");
+            return;
+        }
+        int originalValue = mDevicePolicyManager.getKeyguardDisabledFeatures(mComponent);
+        try {
+            for (int which = DevicePolicyManager.KEYGUARD_DISABLE_FEATURES_NONE;
+                    which < 2 * DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT; ++which) {
+                mDevicePolicyManager.setKeyguardDisabledFeatures(mComponent, which);
+                assertEquals(which, mDevicePolicyManager.getKeyguardDisabledFeatures(mComponent));
+            }
+        } finally {
+            mDevicePolicyManager.setKeyguardDisabledFeatures(mComponent, originalValue);
+        }
+    }
+
     public void testCreateUser_failIfNotDeviceOwner() {
         if (!mDeviceAdmin) {
             Log.w(TAG, "Skipping testCreateUser_failIfNotDeviceOwner");
@@ -1018,6 +1037,14 @@
         fail("No system launcher with version L+ present present on device.");
     }
 
+    /**
+     * Test that managed provisioning is pre-installed if and only if the device declares the
+     * device admin feature.
+     */
+    public void testManagedProvisioningPreInstalled() throws Exception {
+        assertEquals(mDeviceAdmin, isPackageInstalledOnSystemImage(MANAGED_PROVISIONING_PKG));
+    }
+
     private void assertDeviceOwnerMessage(String message) {
         assertTrue("message is: "+ message, message.contains("does not own the device")
                 || message.contains("can only be called by the device owner"));
@@ -1099,4 +1126,14 @@
             assertDeviceOwnerMessage(e.getMessage());
         }
     }
+
+    private boolean isPackageInstalledOnSystemImage(String packagename) {
+        try {
+            ApplicationInfo info = mPackageManager.getApplicationInfo(packagename,
+                    0 /* default flags */);
+            return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
+        } catch (NameNotFoundException e) {
+            return false;
+        }
+    }
 }
diff --git a/tests/tests/alarmclock/Android.mk b/tests/tests/alarmclock/Android.mk
new file mode 100644
index 0000000..6c30bc7
--- /dev/null
+++ b/tests/tests/alarmclock/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAlarmClockCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsAlarmClockTestCases
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_PACKAGE)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/alarmclock/AndroidManifest.xml b/tests/tests/alarmclock/AndroidManifest.xml
new file mode 100644
index 0000000..c0193dd
--- /dev/null
+++ b/tests/tests/alarmclock/AndroidManifest.xml
@@ -0,0 +1,47 @@
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.alarmclock.cts">
+
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+
+        <activity android:name="TestStartActivity"
+                  android:label="The Target Activity for AlarmClock CTS Test">
+            <intent-filter>
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_DISMISS_ALARM" />
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_SET_ALARM" />
+                <action android:name=
+                        "android.intent.action.TEST_START_ACTIVITY_SET_ALARM_FOR_DISMISSAL" />
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_SNOOZE_ALARM" />
+                <category android:name="android.intent.category.LAUNCHER" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="android.alarmclock.cts"
+                     android:label="CTS tests of android.alarmclock">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+</manifest>
+
diff --git a/tests/tests/alarmclock/AndroidTest.xml b/tests/tests/alarmclock/AndroidTest.xml
new file mode 100644
index 0000000..1cdd7f4
--- /dev/null
+++ b/tests/tests/alarmclock/AndroidTest.xml
@@ -0,0 +1,23 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Test module config for AlarmClock">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsAlarmClockService.apk" />
+    <option name="run-command:run-command"
+         value="settings put secure voice_interaction_service android.alarmclock.service/.MainInteractionService" />
+    <option name="run-command:teardown-command"
+         value="settings put secure voice_interaction_service com.google.android.googlequicksearchbox/com.google.android.voiceinteraction.GsaVoiceInteractionService" />
+    <option name="cts-apk-installer:test-file-name" value="CtsAlarmClockTestCases.apk" />
+</configuration>
diff --git a/tests/tests/alarmclock/common/Android.mk b/tests/tests/alarmclock/common/Android.mk
new file mode 100644
index 0000000..d460ade
--- /dev/null
+++ b/tests/tests/alarmclock/common/Android.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_MODULE := CtsAlarmClockCommon
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/tests/alarmclock/common/src/android/alarmclock/common/Utils.java b/tests/tests/alarmclock/common/src/android/alarmclock/common/Utils.java
new file mode 100644
index 0000000..d469592
--- /dev/null
+++ b/tests/tests/alarmclock/common/src/android/alarmclock/common/Utils.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.alarmclock.common;
+
+import android.os.Bundle;
+
+public class Utils {
+    // private constructor - so it can't be instantiated.
+    private Utils() {
+    }
+
+    public enum TestcaseType {
+        DISMISS_ALARM,
+        SET_ALARM,
+        SET_ALARM_FOR_DISMISSAL,
+        SNOOZE_ALARM,
+    }
+    public static final String TESTCASE_TYPE = "Testcase_type";
+    public static final String BROADCAST_INTENT =
+            "android.intent.action.FROM_ALARMCLOCK_CTS_TEST_";
+    public static final String TEST_RESULT = "test_result";
+    public static final String COMPLETION_RESULT = "completion";
+    public static final String ABORT_RESULT = "abort";
+
+    public static final String toBundleString(Bundle bundle) {
+        if (bundle == null) {
+            return "*** Bundle is null ****";
+        }
+        StringBuilder buf = new StringBuilder();
+        if (bundle != null) {
+            buf.append("extras: ");
+            for (String s : bundle.keySet()) {
+                buf.append("(" + s + " = " + bundle.get(s) + "), ");
+            }
+        }
+        return buf.toString();
+    }
+}
diff --git a/tests/tests/alarmclock/res/xml/interaction_service.xml b/tests/tests/alarmclock/res/xml/interaction_service.xml
new file mode 100644
index 0000000..e37017c
--- /dev/null
+++ b/tests/tests/alarmclock/res/xml/interaction_service.xml
@@ -0,0 +1,20 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.alarmclock.service.MainInteractionSessionService"
+    android:recognitionService="android.alarmclock.service.MainRecognitionService"
+    android:settingsActivity="android.alarmclock.service.SettingsActivity"
+    android:supportsAssist="false" />
diff --git a/tests/tests/alarmclock/service/Android.mk b/tests/tests/alarmclock/service/Android.mk
new file mode 100644
index 0000000..53dc564
--- /dev/null
+++ b/tests/tests/alarmclock/service/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAlarmClockCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsAlarmClockService
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/tests/alarmclock/service/AndroidManifest.xml b/tests/tests/alarmclock/service/AndroidManifest.xml
new file mode 100644
index 0000000..074df26
--- /dev/null
+++ b/tests/tests/alarmclock/service/AndroidManifest.xml
@@ -0,0 +1,64 @@
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.alarmclock.service">
+    <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <service android:name=".MainInteractionService"
+                android:label="CTS test voice interaction service"
+                android:permission="android.permission.BIND_VOICE_INTERACTION"
+                android:process=":interactor"
+                android:exported="true">
+            <meta-data android:name="android.voice_interaction"
+                       android:resource="@xml/interaction_service" />
+            <intent-filter>
+                <action android:name="android.service.voice.VoiceInteractionService" />
+            </intent-filter>
+        </service>
+        <activity android:name=".VoiceInteractionMain" >
+            <intent-filter>
+                <action android:name="android.intent.action.VIMAIN_DISMISS_ALARM" />
+                <action android:name="android.intent.action.VIMAIN_SET_ALARM" />
+                <action android:name="android.intent.action.VIMAIN_SET_ALARM_FOR_DISMISSAL" />
+                <action android:name="android.intent.action.VIMAIN_SNOOZE_ALARM" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <activity android:name=".SettingsActivity"
+                  android:label="Voice Interaction Settings">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <service android:name=".MainInteractionSessionService"
+                android:permission="android.permission.BIND_VOICE_INTERACTION"
+                android:process=":session">
+        </service>
+        <service android:name=".MainRecognitionService"
+                android:label="CTS Voice Recognition Service">
+            <intent-filter>
+                <action android:name="android.speech.RecognitionService" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="android.speech" android:resource="@xml/recognition_service" />
+        </service>
+    </application>
+</manifest>
+
diff --git a/tests/tests/alarmclock/service/res/xml/interaction_service.xml b/tests/tests/alarmclock/service/res/xml/interaction_service.xml
new file mode 100644
index 0000000..e37017c
--- /dev/null
+++ b/tests/tests/alarmclock/service/res/xml/interaction_service.xml
@@ -0,0 +1,20 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.alarmclock.service.MainInteractionSessionService"
+    android:recognitionService="android.alarmclock.service.MainRecognitionService"
+    android:settingsActivity="android.alarmclock.service.SettingsActivity"
+    android:supportsAssist="false" />
diff --git a/tests/tests/alarmclock/service/res/xml/recognition_service.xml b/tests/tests/alarmclock/service/res/xml/recognition_service.xml
new file mode 100644
index 0000000..132c987
--- /dev/null
+++ b/tests/tests/alarmclock/service/res/xml/recognition_service.xml
@@ -0,0 +1,17 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<recognition-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:settingsActivity="android.alarmclock.service.SettingsActivity" />
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionService.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionService.java
new file mode 100644
index 0000000..f96140e
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionService.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.alarmclock.common.Utils;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionService;
+import android.util.Log;
+
+public class MainInteractionService extends VoiceInteractionService {
+    static final String TAG = "MainInteractionService";
+    private Intent mIntent;
+    private boolean mReady = false;
+
+    @Override
+    public void onReady() {
+        super.onReady();
+        mReady = true;
+    }
+
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        Log.i(TAG, "onStartCommand received");
+        mIntent = intent;
+        Log.i(TAG, "received_testcasetype = " + mIntent.getStringExtra(Utils.TESTCASE_TYPE));
+        maybeStart();
+        return START_NOT_STICKY;
+    }
+
+    private void maybeStart() {
+       if (mIntent == null || !mReady) {
+            Log.wtf(TAG, "Can't start session because either intent is null or onReady() "
+                    + "is not called yet. mIntent = " + mIntent + ", mReady = " + mReady);
+        } else {
+            Log.i(TAG,
+                    "Yay! about to start MainInteractionSession as the voice_interaction_service");
+            if (isActiveService(this, new ComponentName(this, getClass()))) {
+                Bundle args = new Bundle();
+                args.putString(Utils.TESTCASE_TYPE, mIntent.getStringExtra(Utils.TESTCASE_TYPE));
+                Log.i(TAG, "xferring_testcasetype = " + args.getString(Utils.TESTCASE_TYPE));
+                showSession(args, 0);
+            } else {
+                Log.wtf(TAG, "**** Not starting MainInteractionService because" +
+                    " it is not set as the current voice_interaction_service");
+            }
+        }
+    }
+}
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSession.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSession.java
new file mode 100644
index 0000000..ede762a
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSession.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.alarmclock.common.Utils;
+import android.alarmclock.common.Utils.TestcaseType;
+import android.content.Context;
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.provider.AlarmClock;
+import android.service.voice.VoiceInteractionSession;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MainInteractionSession extends VoiceInteractionSession {
+    static final String TAG = "MainInteractionSession";
+
+    private List<MyTask> mUsedTasks = new ArrayList<MyTask>();
+    private Context mContext;
+    private TestcaseType mTestType;
+    private String mTestResult = "";
+
+    MainInteractionSession(Context context) {
+        super(context);
+        mContext = context;
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+    }
+
+    @Override
+    public void onDestroy() {
+        Log.i(TAG, "Canceling the Asynctasks in onDestroy()");
+        for (MyTask t : mUsedTasks) {
+            t.cancel(true);
+        }
+        super.onDestroy();
+    }
+
+    @Override
+    public void onShow(Bundle args, int showFlags) {
+        super.onShow(args, showFlags);
+        String testCaseType = args.getString(Utils.TESTCASE_TYPE);
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        try {
+            mTestType = TestcaseType.valueOf(testCaseType);
+        } catch (IllegalArgumentException e) {
+            Log.wtf(TAG, e);
+            return;
+        } catch (NullPointerException e) {
+            Log.wtf(TAG, e);
+            return;
+        }
+        Intent intent;
+        switch(mTestType) {
+            case DISMISS_ALARM:
+                intent = new Intent(AlarmClock.ACTION_DISMISS_ALARM);
+                intent.putExtra(AlarmClock.EXTRA_ALARM_SEARCH_MODE,
+                        AlarmClock.ALARM_SEARCH_MODE_NEXT);
+                break;
+
+            case SET_ALARM_FOR_DISMISSAL:
+            case SET_ALARM:
+                intent = new Intent(AlarmClock.ACTION_SET_ALARM);
+                intent.putExtra(AlarmClock.EXTRA_HOUR, 14);
+                break;
+
+            case SNOOZE_ALARM:
+                intent = new Intent(AlarmClock.ACTION_SNOOZE_ALARM);
+                break;
+
+            default:
+                Log.e(TAG, "Unexpected value");
+                return;
+        }
+        Log.i(TAG, "starting_voiceactivity: " + intent.toString());
+        startVoiceActivity(intent);
+    }
+
+    @Override
+    public void onTaskFinished(Intent intent, int taskId) {
+        // extras contain the info on what the activity started above did.
+        // we probably could verify this also.
+        Bundle extras = intent.getExtras();
+        Log.i(TAG, "in onTaskFinished: testcasetype = " + mTestType + ", intent: " +
+                intent.toString() + Utils.toBundleString(extras));
+        Intent broadcastIntent = new Intent(Utils.BROADCAST_INTENT + mTestType.toString());
+        broadcastIntent.putExtra(Utils.TEST_RESULT, mTestResult);
+        broadcastIntent.putExtra(Utils.TESTCASE_TYPE, mTestType.toString());
+        Log.i(TAG, "sending_broadcast for testcase+type = " +
+                broadcastIntent.getStringExtra(Utils.TESTCASE_TYPE) +
+                ", test_result = " + broadcastIntent.getStringExtra(Utils.TEST_RESULT));
+        mContext.sendBroadcast(broadcastIntent);
+    }
+
+    synchronized MyTask newTask() {
+        MyTask t = new MyTask();
+        mUsedTasks.add(t);
+        return t;
+    }
+
+    @Override
+    public void onRequestCompleteVoice(CompleteVoiceRequest request) {
+        mTestResult = Utils.COMPLETION_RESULT;
+        CharSequence prompt = request.getVoicePrompt().getVoicePromptAt(0);
+        Log.i(TAG, "in Session testcasetype = " + mTestType +
+                ", onRequestCompleteVoice recvd. message = " + prompt);
+        AsyncTaskArg asyncTaskArg = new AsyncTaskArg().setRequest(request).setCompleteReq(true);
+        newTask().execute(asyncTaskArg);
+    }
+
+    @Override
+    public void onRequestAbortVoice(AbortVoiceRequest request) {
+        mTestResult = Utils.ABORT_RESULT;
+        AsyncTaskArg asyncTaskArg = new AsyncTaskArg().setRequest(request).setCompleteReq(false);
+        Log.i(TAG, "in Session sending sendAbortResult for testcasetype = " + mTestType);
+        newTask().execute(asyncTaskArg);
+    }
+
+    private class AsyncTaskArg {
+        CompleteVoiceRequest mCompReq;
+        AbortVoiceRequest mAbortReq;
+        boolean isCompleteRequest = true;
+
+        AsyncTaskArg setRequest(CompleteVoiceRequest r) {
+            mCompReq = r;
+            return this;
+        }
+
+        AsyncTaskArg setRequest(AbortVoiceRequest r) {
+            mAbortReq = r;
+            return this;
+        }
+
+        AsyncTaskArg setCompleteReq(boolean flag) {
+            isCompleteRequest = flag;
+            return this;
+        }
+    }
+
+    private class MyTask extends AsyncTask<AsyncTaskArg, Void, Void> {
+        @Override
+        protected Void doInBackground(AsyncTaskArg... params) {
+            AsyncTaskArg arg = params[0];
+            Log.i(TAG, "in MyTask - doInBackground: testType = " +
+                    MainInteractionSession.this.mTestType);
+            if (arg.isCompleteRequest) {
+                arg.mCompReq.sendCompleteResult(new Bundle());
+            } else {
+                arg.mAbortReq.sendAbortResult(new Bundle());
+            }
+            return null;
+        }
+    }
+}
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSessionService.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSessionService.java
new file mode 100644
index 0000000..a83c115
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainInteractionSessionService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionSession;
+import android.service.voice.VoiceInteractionSessionService;
+
+public class MainInteractionSessionService extends VoiceInteractionSessionService {
+    @Override
+    public VoiceInteractionSession onNewSession(Bundle args) {
+        return new MainInteractionSession(this);
+    }
+}
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/MainRecognitionService.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainRecognitionService.java
new file mode 100644
index 0000000..15a32d4
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/MainRecognitionService.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.content.Intent;
+import android.speech.RecognitionService;
+import android.util.Log;
+
+/**
+ * Stub recognition service needed to be a complete voice interactor.
+ */
+public class MainRecognitionService extends RecognitionService {
+    private static final String TAG = "MainRecognitionService";
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        Log.i(TAG, "onCreate");
+    }
+
+    @Override
+    protected void onStartListening(Intent recognizerIntent, Callback listener) {
+        Log.i(TAG, "onStartListening");
+    }
+
+    @Override
+    protected void onCancel(Callback listener) {
+        Log.i(TAG, "onCancel");
+    }
+
+    @Override
+    protected void onStopListening(Callback listener) {
+        Log.i(TAG, "onStopListening");
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        Log.i(TAG, "onDestroy");
+    }
+}
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/SettingsActivity.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/SettingsActivity.java
new file mode 100644
index 0000000..0c4d289
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/SettingsActivity.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+/**
+ * Stub activity to test out settings selection for voice interactor.
+ */
+public class SettingsActivity extends Activity {
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+}
diff --git a/tests/tests/alarmclock/service/src/android/alarmclock/service/VoiceInteractionMain.java b/tests/tests/alarmclock/service/src/android/alarmclock/service/VoiceInteractionMain.java
new file mode 100644
index 0000000..c1f23a0
--- /dev/null
+++ b/tests/tests/alarmclock/service/src/android/alarmclock/service/VoiceInteractionMain.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.service;
+
+import android.alarmclock.common.Utils;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+public class VoiceInteractionMain extends Activity {
+    static final String TAG = "VoiceInteractionMain";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Intent intent = new Intent();
+        String testCaseType = getIntent().getStringExtra(Utils.TESTCASE_TYPE);
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        intent.putExtra(Utils.TESTCASE_TYPE, testCaseType);
+        intent.setComponent(new ComponentName(this, MainInteractionService.class));
+        ComponentName serviceName = startService(intent);
+        Log.i(TAG, "Started service: " + serviceName);
+    }
+}
diff --git a/tests/tests/alarmclock/src/android/alarmclock/cts/AlarmClockTestBase.java b/tests/tests/alarmclock/src/android/alarmclock/cts/AlarmClockTestBase.java
new file mode 100644
index 0000000..0089e69
--- /dev/null
+++ b/tests/tests/alarmclock/src/android/alarmclock/cts/AlarmClockTestBase.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.cts;
+
+import android.alarmclock.common.Utils;
+import android.alarmclock.common.Utils.TestcaseType;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class AlarmClockTestBase extends ActivityInstrumentationTestCase2<TestStartActivity> {
+    static final String TAG = "AlarmClockTestBase";
+    protected static final int TIMEOUT_MS = 20 * 1000;
+
+    private Context mContext;
+    private String mTestResult;
+    private CountDownLatch mLatch;
+    private ActivityDoneReceiver mActivityDoneReceiver = null;
+    private TestStartActivity mActivity;
+    private TestcaseType mTestCaseType;
+
+    public AlarmClockTestBase() {
+        super(TestStartActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getTargetContext();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mActivityDoneReceiver);
+        super.tearDown();
+    }
+
+    private void registerBroadcastReceiver(TestcaseType testCaseType) throws Exception {
+        mTestCaseType = testCaseType;
+        mLatch = new CountDownLatch(1);
+        if (mActivityDoneReceiver != null) {
+            mContext.unregisterReceiver(mActivityDoneReceiver);
+        }
+        mActivityDoneReceiver = new ActivityDoneReceiver();
+        mContext.registerReceiver(mActivityDoneReceiver,
+                new IntentFilter(Utils.BROADCAST_INTENT + testCaseType.toString()));
+    }
+
+    protected String runTest(TestcaseType testCaseType) throws Exception {
+        Log.i(TAG, "Begin Testing: " + testCaseType);
+        if (!startTestActivity(testCaseType)) {
+            fail("test activity start failed for testcase = " + testCaseType);
+            return "";
+        }
+
+        registerBroadcastReceiver(testCaseType);
+        mActivity.startTest(testCaseType.toString());
+        if (!mLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
+            fail("Failed to receive broadcast in " + TIMEOUT_MS + "msec");
+            return "";
+        }
+        return mTestResult;
+    }
+
+    private boolean startTestActivity(TestcaseType testCaseType) {
+        Log.i(TAG, "Starting test activity for test: " + testCaseType);
+        Intent intent = new Intent();
+        intent.setAction("android.intent.action.TEST_START_ACTIVITY_" + testCaseType.toString());
+        intent.setComponent(new ComponentName(getInstrumentation().getContext(),
+                TestStartActivity.class));
+        setActivityIntent(intent);
+        mActivity = getActivity();
+        return mActivity != null;
+    }
+
+    class ActivityDoneReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(
+                    Utils.BROADCAST_INTENT + AlarmClockTestBase.this.mTestCaseType.toString())) {
+                AlarmClockTestBase.this.mTestResult = intent.getStringExtra(Utils.TEST_RESULT);
+                Log.i(TAG, "received_broadcast for testcase_type = " +
+                        Utils.BROADCAST_INTENT + AlarmClockTestBase.this.mTestCaseType +
+                        ", test_result = " + AlarmClockTestBase.this.mTestResult);
+                mLatch.countDown();
+            }
+        }
+    }
+}
diff --git a/tests/tests/alarmclock/src/android/alarmclock/cts/DismissAlarmTest.java b/tests/tests/alarmclock/src/android/alarmclock/cts/DismissAlarmTest.java
new file mode 100644
index 0000000..64ecf86
--- /dev/null
+++ b/tests/tests/alarmclock/src/android/alarmclock/cts/DismissAlarmTest.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.cts;
+
+import android.alarmclock.common.Utils;
+import android.alarmclock.common.Utils.TestcaseType;
+
+public class DismissAlarmTest extends AlarmClockTestBase {
+    public DismissAlarmTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        assertEquals(Utils.COMPLETION_RESULT, runTest(TestcaseType.SET_ALARM_FOR_DISMISSAL));
+        assertEquals(Utils.COMPLETION_RESULT, runTest(TestcaseType.DISMISS_ALARM));
+    }
+}
diff --git a/tests/tests/alarmclock/src/android/alarmclock/cts/SetAlarmTest.java b/tests/tests/alarmclock/src/android/alarmclock/cts/SetAlarmTest.java
new file mode 100644
index 0000000..a95a1dd
--- /dev/null
+++ b/tests/tests/alarmclock/src/android/alarmclock/cts/SetAlarmTest.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.cts;
+
+import android.alarmclock.common.Utils;
+import android.alarmclock.common.Utils.TestcaseType;
+
+public class SetAlarmTest extends AlarmClockTestBase {
+    public SetAlarmTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        assertEquals(Utils.COMPLETION_RESULT, runTest(TestcaseType.SET_ALARM));
+    }
+}
diff --git a/tests/tests/alarmclock/src/android/alarmclock/cts/SnoozeAlarmTest.java b/tests/tests/alarmclock/src/android/alarmclock/cts/SnoozeAlarmTest.java
new file mode 100644
index 0000000..b67a7cf
--- /dev/null
+++ b/tests/tests/alarmclock/src/android/alarmclock/cts/SnoozeAlarmTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.cts;
+
+import android.alarmclock.common.Utils;
+import android.alarmclock.common.Utils.TestcaseType;
+
+public class SnoozeAlarmTest extends AlarmClockTestBase {
+    public SnoozeAlarmTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        String result = runTest(TestcaseType.SNOOZE_ALARM);
+        // Since there is no way to figure out if there is a currently-firing alarm,
+        // we should expect either of the 2 results:
+        //      Utils.COMPLETION_RESULT
+        //      Utils.ABORT_RESULT
+        // For CTS test purposes, all we can do is to know that snooze-alarm intent
+        // was picked up and processed by the voice_interaction_service and the associated app.
+        // The above call to runTest() would have failed the test otherwise.
+        assertTrue(result.equals(Utils.ABORT_RESULT) || result.equals(Utils.COMPLETION_RESULT));
+    }
+}
diff --git a/tests/tests/alarmclock/src/android/alarmclock/cts/TestStartActivity.java b/tests/tests/alarmclock/src/android/alarmclock/cts/TestStartActivity.java
new file mode 100644
index 0000000..1a3c4eb
--- /dev/null
+++ b/tests/tests/alarmclock/src/android/alarmclock/cts/TestStartActivity.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.alarmclock.cts;
+
+import android.alarmclock.common.Utils;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+public class TestStartActivity extends Activity {
+    static final String TAG = "TestStartActivity";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, " in onCreate");
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        Log.i(TAG, " in onResume");
+    }
+
+    void startTest(String testCaseType) {
+        Intent intent = new Intent();
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        intent.putExtra(Utils.TESTCASE_TYPE, testCaseType);
+        intent.setAction("android.intent.action.VIMAIN_" + testCaseType);
+        intent.setComponent(new ComponentName("android.alarmclock.service",
+                "android.alarmclock.service.VoiceInteractionMain"));
+        startActivity(intent);
+    }
+
+    @Override
+    protected void onPause() {
+        Log.i(TAG, " in onPause");
+        super.onPause();
+    }
+
+    @Override
+    protected void onStart() {
+        super.onStart();
+        Log.i(TAG, " in onStart");
+    }
+
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        Log.i(TAG, " in onRestart");
+    }
+
+    @Override
+    protected void onStop() {
+        Log.i(TAG, " in onStop");
+        super.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        Log.i(TAG, " in onDestroy");
+        super.onDestroy();
+    }
+}
diff --git a/tests/tests/app/src/android/app/cts/DownloadManagerTest.java b/tests/tests/app/src/android/app/cts/DownloadManagerTest.java
index 8c0381a..55ad392 100644
--- a/tests/tests/app/src/android/app/cts/DownloadManagerTest.java
+++ b/tests/tests/app/src/android/app/cts/DownloadManagerTest.java
@@ -130,7 +130,7 @@
 
             assertDownloadQueryableById(id);
 
-            receiver.waitForDownloadComplete(SHORT_TIMEOUT, id);
+            receiver.waitForDownloadComplete(LONG_TIMEOUT, id);
 
             assertDownloadQueryableByStatus(DownloadManager.STATUS_SUCCESSFUL);
 
@@ -158,7 +158,7 @@
 
             assertDownloadQueryableById(id);
 
-            receiver.waitForDownloadComplete(SHORT_TIMEOUT, id);
+            receiver.waitForDownloadComplete(LONG_TIMEOUT, id);
 
             assertDownloadQueryableByStatus(DownloadManager.STATUS_SUCCESSFUL);
 
diff --git a/tests/tests/assist/Android.mk b/tests/tests/assist/Android.mk
new file mode 100644
index 0000000..89d2c49
--- /dev/null
+++ b/tests/tests/assist/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAssistCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsAssistTestCases
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_PACKAGE)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/assist/AndroidManifest.xml b/tests/tests/assist/AndroidManifest.xml
new file mode 100644
index 0000000..b6cd684
--- /dev/null
+++ b/tests/tests/assist/AndroidManifest.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.assist.cts">
+
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+    <uses-permission android:name="android.permission.BIND_VOICE_INTERACTION" />
+
+    <application>
+      <uses-library android:name="android.test.runner" />
+      <activity android:name="android.assist.TestStartActivity"
+                android:label="Assist Target">
+          <intent-filter>
+              <action android:name="android.intent.action.TEST_START_ACTIVITY_ASSIST_STRUCTURE" />
+              <action android:name="android.intent.action.TEST_START_ACTIVITY_DISABLE_CONTEXT" />
+              <action android:name="android.intent.action.TEST_START_ACTIVITY_FLAG_SECURE" />
+              <category android:name="android.intent.category.LAUNCHER" />
+              <category android:name="android.intent.category.DEFAULT" />
+          </intent-filter>
+      </activity>
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="android.assist.cts"
+                     android:label="CTS tests of android.assist">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+</manifest>
+
diff --git a/tests/tests/assist/AndroidTest.xml b/tests/tests/assist/AndroidTest.xml
new file mode 100644
index 0000000..f7c56ad
--- /dev/null
+++ b/tests/tests/assist/AndroidTest.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Test module config for Assist">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsAssistService.apk" />
+    <option name="cts-apk-installer:test-file-name" value="CtsAssistApp.apk" />
+    <option name="run-command:run-command"
+         value="settings put secure voice_interaction_service android.assist.service/.MainInteractionService" />
+    <option name="run-command:teardown-command"
+         value="settings put secure voice_interaction_service com.google.android.googlequicksearchbox/com.google.android.voiceinteraction.GsaVoiceInteractionService" />
+    <option name="cts-apk-installer:test-file-name" value="CtsAssistTestCases.apk" />
+</configuration>
diff --git a/tests/tests/assist/common/Android.mk b/tests/tests/assist/common/Android.mk
new file mode 100644
index 0000000..88c90ee
--- /dev/null
+++ b/tests/tests/assist/common/Android.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_MODULE := CtsAssistCommon
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/tests/assist/common/src/android/assist/common/Utils.java b/tests/tests/assist/common/src/android/assist/common/Utils.java
new file mode 100644
index 0000000..bf051c0
--- /dev/null
+++ b/tests/tests/assist/common/src/android/assist/common/Utils.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.assist.common;
+
+import android.R;
+import android.content.ComponentName;
+import android.os.Bundle;
+
+import java.util.ArrayList;
+
+public class Utils {
+    public static final String TESTCASE_TYPE = "testcase_type";
+    public static final String TESTINFO = "testinfo";
+    public static final String BROADCAST_INTENT = "android.intent.action.ASSIST_TESTAPP";
+    public static final String BROADCAST_ASSIST_DATA_INTENT = "android.intent.action.ASSIST_DATA";
+    public static final String TEST_ERROR = "Error In Test:";
+
+    public static final String ASSIST_STRUCTURE_KEY = "assist_structure";
+    public static final String ASSIST_CONTENT_KEY = "assist_content";
+    public static final String ASSIST_BUNDLE_KEY = "assist_bundle";
+    public static final String ASSIST_SCREENSHOT_KEY = "assist_screenshot";
+
+    public static final int TIMEOUT_MS = 2 * 1000; // TODO(awlee): what is the timeout
+
+    /** Test name suffixes */
+    public static final String ASSIST_STRUCTURE = "ASSIST_STRUCTURE";
+    public static final String DISABLE_CONTEXT = "DISABLE_CONTEXT";
+    public static final String FLAG_SECURE = "FLAG_SECURE";
+
+    /**
+     * The shim activity that starts the service associated with each test.
+     */
+    public static final String getTestActivity(String testCaseType) {
+        switch (testCaseType) {
+            case ASSIST_STRUCTURE:
+            case FLAG_SECURE:
+                return "service.AssistStructureActivity";
+            case DISABLE_CONTEXT:
+                return "service.DisableContextActivity";
+            default:
+                return "";
+        }
+    }
+
+    /**
+     * The test app associated with each test.
+     */
+    public static final ComponentName getTestAppComponent(String testCaseType) {
+        switch (testCaseType) {
+            case ASSIST_STRUCTURE:
+            case DISABLE_CONTEXT:
+                return new ComponentName(
+                        "android.assist.testapp", "android.assist.testapp.TestApp");
+            case FLAG_SECURE:
+                return new ComponentName(
+                        "android.assist.testapp", "android.assist.testapp.SecureActivity");
+            default:
+                return new ComponentName("","");
+        }
+    }
+
+    public static final String toBundleString(Bundle bundle) {
+        if (bundle == null) {
+            return "*** Bundle is null ****";
+        }
+        StringBuffer buf = new StringBuffer("Bundle is: ");
+        String testType = bundle.getString(TESTCASE_TYPE);
+        if (testType != null) {
+            buf.append("testcase type = " + testType);
+        }
+        ArrayList<String> info = bundle.getStringArrayList(TESTINFO);
+        if (info != null) {
+            for (String s : info) {
+                buf.append(s + "\n\t\t");
+            }
+        }
+        return buf.toString();
+    }
+
+    public static final void addErrorResult(final Bundle testinfo, final String msg) {
+        testinfo.getStringArrayList(testinfo.getString(Utils.TESTCASE_TYPE))
+            .add(TEST_ERROR + " " + msg);
+    }
+}
diff --git a/tests/tests/assist/res/xml/interaction_service.xml b/tests/tests/assist/res/xml/interaction_service.xml
new file mode 100644
index 0000000..c968795
--- /dev/null
+++ b/tests/tests/assist/res/xml/interaction_service.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.assist.service.MainInteractionSessionService"
+    android:recognitionService="android.assist.service.MainRecognitionService"
+    android:settingsActivity="android.assist.service.SettingsActivity"
+    android:supportsAssist="false" />
diff --git a/tests/tests/assist/service/Android.mk b/tests/tests/assist/service/Android.mk
new file mode 100644
index 0000000..07dc228
--- /dev/null
+++ b/tests/tests/assist/service/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAssistCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsAssistService
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/tests/assist/service/AndroidManifest.xml b/tests/tests/assist/service/AndroidManifest.xml
new file mode 100644
index 0000000..2c5206a
--- /dev/null
+++ b/tests/tests/assist/service/AndroidManifest.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.assist.service">
+
+    <application>
+      <uses-library android:name="android.test.runner" />
+      <service android:name=".MainInteractionService"
+              android:label="CTS test voice interaction service"
+              android:permission="android.permission.BIND_VOICE_INTERACTION"
+              android:process=":interactor"
+              android:exported="true">
+          <meta-data android:name="android.voice_interaction"
+                     android:resource="@xml/interaction_service" />
+          <intent-filter>
+              <action android:name="android.service.voice.VoiceInteractionService" />
+          </intent-filter>
+      </service>
+      <activity android:name=".AssistStructureActivity" >
+          <intent-filter>
+              <action android:name="android.intent.action.START_TEST_ASSIST_STRUCTURE" />
+              <action android:name="android.intent.action.START_TEST_FLAG_SECURE" />
+              <category android:name="android.intent.category.DEFAULT" />
+          </intent-filter>
+      </activity>
+      <activity android:name=".DisableContextActivity"
+                android:label="Disabled Context Activity">
+          <intent-filter>
+              <action android:name="android.intent.action.START_TEST_DISABLE_CONTEXT" />
+              <category android:name="android.intent.category.DEFAULT" />
+          </intent-filter>
+      </activity>
+      <service android:name=".MainInteractionSessionService"
+              android:permission="android.permission.BIND_VOICE_INTERACTION"
+              android:process=":session">
+      </service>
+      <service android:name=".MainRecognitionService"
+              android:label="CTS Voice Recognition Service">
+          <intent-filter>
+              <action android:name="android.speech.RecognitionService" />
+              <category android:name="android.intent.category.DEFAULT" />
+          </intent-filter>
+          <meta-data android:name="android.speech" android:resource="@xml/recognition_service" />
+      </service>
+    </application>
+</manifest>
+
diff --git a/tests/tests/assist/service/res/xml/interaction_service.xml b/tests/tests/assist/service/res/xml/interaction_service.xml
new file mode 100644
index 0000000..3ca7161
--- /dev/null
+++ b/tests/tests/assist/service/res/xml/interaction_service.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.assist.service.MainInteractionSessionService"
+    android:recognitionService="android.assist.service.MainRecognitionService"
+    android:settingsActivity="android.assist.service.SettingsActivity"
+    android:supportsAssist="true" />
diff --git a/tests/tests/assist/service/res/xml/recognition_service.xml b/tests/tests/assist/service/res/xml/recognition_service.xml
new file mode 100644
index 0000000..3f763b1
--- /dev/null
+++ b/tests/tests/assist/service/res/xml/recognition_service.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<recognition-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:settingsActivity="android.assist.service.SettingsActivity" />
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/AssistStructureActivity.java b/tests/tests/assist/service/src/android/voiceinteraction/service/AssistStructureActivity.java
new file mode 100644
index 0000000..784d63b
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/AssistStructureActivity.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+public class AssistStructureActivity extends Activity {
+    static final String TAG = "VoiceInteractionMain";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        Intent intent = new Intent();
+        intent.setComponent(new ComponentName(this, MainInteractionService.class));
+        Log.i(TAG, "Starting service.");
+        finish();
+        startService(intent);
+    }
+}
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/DisableContextActivity.java b/tests/tests/assist/service/src/android/voiceinteraction/service/DisableContextActivity.java
new file mode 100644
index 0000000..52ba7ac
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/DisableContextActivity.java
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+/**
+ * TODO(awlee): Change context on/off settings and test
+ */
+public class DisableContextActivity extends Activity {
+    static final String TAG = "DisableContextActivity";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        Intent intent = new Intent();
+        intent.setComponent(new ComponentName(this, MainInteractionService.class));
+        finish();
+        ComponentName serviceName = startService(intent);
+        Log.i(TAG, "Started service: " + serviceName);
+    }
+}
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionService.java b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionService.java
new file mode 100644
index 0000000..85bd6ea
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionService.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionService;
+import android.service.voice.VoiceInteractionSession;
+import android.util.Log;
+
+public class MainInteractionService extends VoiceInteractionService {
+    static final String TAG = "MainInteractionService";
+    private Intent mIntent;
+    private boolean mReady = false;
+
+    @Override
+    public void onReady() {
+        super.onReady();
+        mReady = true;
+    }
+
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        Log.i(TAG, "onStartCommand received");
+        mIntent = intent;
+        maybeStart();
+        return START_NOT_STICKY;
+    }
+
+    private void maybeStart() {
+       if (mIntent == null || !mReady) {
+            Log.wtf(TAG, "Can't start session because either intent is null or onReady() "
+                    + "has not been called yet. mIntent = " + mIntent + ", mReady = " + mReady);
+        } else {
+            Log.i(TAG, "Yay! about to start session");
+            if (isActiveService(this, new ComponentName(this, getClass()))) {
+                showSession(new Bundle(), VoiceInteractionSession.SHOW_WITH_ASSIST |
+                        VoiceInteractionSession.SHOW_WITH_SCREENSHOT);
+            } else {
+                Log.wtf(TAG, "**** Not starting MainInteractionService because" +
+                    " it is not set as the current voice interaction service");
+            }
+        }
+    }
+}
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSession.java b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSession.java
new file mode 100644
index 0000000..9a835c2
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSession.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.app.assist.AssistContent;
+import android.app.assist.AssistStructure;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionSession;
+import android.util.Log;
+
+import java.io.ByteArrayOutputStream;
+
+import android.assist.common.Utils;
+
+public class MainInteractionSession extends VoiceInteractionSession {
+    static final String TAG = "MainInteractionSession";
+
+    Intent mStartIntent;
+    Context mContext;
+    Bundle mAssistData = new Bundle();
+
+    private boolean hasReceivedAssistData = false;
+    private boolean hasReceivedScreenshot = false;
+
+    MainInteractionSession(Context context) {
+        super(context);
+        mContext = context;
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+    }
+
+    @Override
+    public void onDestroy() {
+        Log.i(TAG, "onDestroy()");
+        super.onDestroy();
+    }
+
+    @Override
+    public void onShow(Bundle args, int showFlags) {
+        // set some content view.
+        // TODO: check that the view takes up the whole screen.
+        // check that interactor mode is for assist
+        if ((showFlags & SHOW_WITH_ASSIST) == 0) {
+            return;
+        }
+        super.onShow(args, showFlags);
+    }
+
+    @Override
+    public void onHandleAssist(/*@Nullable */Bundle data, /*@Nullable*/ AssistStructure structure,
+        /*@Nullable*/ AssistContent content) {
+        Log.i(TAG, "onHandleAssist");
+        Log.i(TAG,
+            String.format("Bundle: %s, Structure: %s, Content: %s", data, structure, content));
+        super.onHandleAssist(data, structure, content);
+
+        // send to test to verify that this is accurate.
+        mAssistData.putParcelable(Utils.ASSIST_STRUCTURE_KEY, structure);
+        mAssistData.putParcelable(Utils.ASSIST_CONTENT_KEY, content);
+        mAssistData.putBundle(Utils.ASSIST_BUNDLE_KEY, data);
+        hasReceivedAssistData = true;
+        maybeBroadcastResults();
+    }
+
+    @Override
+    public void onHandleScreenshot(/*@Nullable*/ Bitmap screenshot) {
+        Log.i(TAG, String.format("onHandleScreenshot - Screenshot: %s", screenshot));
+        super.onHandleScreenshot(screenshot);
+        ByteArrayOutputStream bs = new ByteArrayOutputStream();
+        if (screenshot != null) {
+            screenshot.compress(Bitmap.CompressFormat.PNG, 50, bs);
+            mAssistData.putByteArray(Utils.ASSIST_SCREENSHOT_KEY, bs.toByteArray());
+        } else {
+            mAssistData.putByteArray(Utils.ASSIST_SCREENSHOT_KEY, null);
+        }
+        hasReceivedScreenshot = true;
+        maybeBroadcastResults();
+    }
+
+    private void maybeBroadcastResults() {
+        if (!hasReceivedAssistData) {
+            Log.i(TAG, "waiting for assist data before broadcasting results");
+        } else if (!hasReceivedScreenshot) {
+            Log.i(TAG, "waiting for screenshot before broadcasting results");
+        } else {
+            Intent intent = new Intent(Utils.BROADCAST_ASSIST_DATA_INTENT);
+            intent.putExtras(mAssistData);
+            Log.i(TAG,
+                    "broadcasting: " + intent.toString() + ", Bundle = " + mAssistData.toString());
+            mContext.sendBroadcast(intent);
+
+            hasReceivedAssistData = false;
+            hasReceivedScreenshot = false;
+        }
+    }
+
+    class DoneReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            Log.i(TAG, "Done_broadcast " + intent.getAction());
+        }
+    }
+}
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSessionService.java b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSessionService.java
new file mode 100644
index 0000000..ad356a6
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/MainInteractionSessionService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionSession;
+import android.service.voice.VoiceInteractionSessionService;
+
+public class MainInteractionSessionService extends VoiceInteractionSessionService {
+    @Override
+    public VoiceInteractionSession onNewSession(Bundle args) {
+        return new MainInteractionSession(this);
+    }
+}
diff --git a/tests/tests/assist/service/src/android/voiceinteraction/service/MainRecognitionService.java b/tests/tests/assist/service/src/android/voiceinteraction/service/MainRecognitionService.java
new file mode 100644
index 0000000..520f913
--- /dev/null
+++ b/tests/tests/assist/service/src/android/voiceinteraction/service/MainRecognitionService.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.service;
+
+import android.content.Intent;
+import android.speech.RecognitionService;
+import android.util.Log;
+
+/**
+ * Stub recognition service needed to be a complete voice interactor.
+ */
+public class MainRecognitionService extends RecognitionService {
+    private static final String TAG = "MainRecognitionService";
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        Log.i(TAG, "onCreate");
+    }
+
+    @Override
+    protected void onStartListening(Intent recognizerIntent, Callback listener) {
+        Log.i(TAG, "onStartListening");
+    }
+
+    @Override
+    protected void onCancel(Callback listener) {
+        Log.i(TAG, "onCancel");
+    }
+
+    @Override
+    protected void onStopListening(Callback listener) {
+        Log.i(TAG, "onStopListening");
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        Log.i(TAG, "onDestroy");
+    }
+}
diff --git a/tests/tests/assist/src/android/assist/TestStartActivity.java b/tests/tests/assist/src/android/assist/TestStartActivity.java
new file mode 100644
index 0000000..df9b534
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/TestStartActivity.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist;
+
+import android.assist.common.Utils;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+public class TestStartActivity extends Activity {
+    static final String TAG = "TestStartActivity";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, " in onCreate");
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        Log.i(TAG, " in onResume");
+    }
+
+    public void startTest(String testCaseName) {
+        Log.i(TAG, "Starting test activity for TestCaseType = " + testCaseName);
+        Intent intent = new Intent();
+        intent.putExtra(Utils.TESTCASE_TYPE, testCaseName);
+        intent.setAction("android.intent.action.START_TEST_" + testCaseName);
+        intent.setComponent(new ComponentName("android.assist.service",
+                "android.assist." + Utils.getTestActivity(testCaseName)));
+        startActivity(intent);
+    }
+
+    public void start3pApp(String testCaseName) {
+        Intent intent = new Intent();
+        intent.setAction("android.intent.action.TEST_APP_" + testCaseName);
+        intent.setComponent(Utils.getTestAppComponent(testCaseName));
+        startActivity(intent);
+    }
+
+    @Override protected void onPause() {
+        Log.i(TAG, " in onPause");
+        super.onPause();
+    }
+
+    @Override protected void onStart() {
+        super.onStart();
+        Log.i(TAG, " in onStart");
+    }
+
+    @Override protected void onRestart() {
+        super.onRestart();
+        Log.i(TAG, " in onRestart");
+    }
+
+    @Override protected void onStop() {
+        Log.i(TAG, " in onStop");
+        super.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        Log.i(TAG, " in onDestroy");
+        super.onDestroy();
+    }
+}
diff --git a/tests/tests/assist/src/android/assist/cts/AssistStructureTest.java b/tests/tests/assist/src/android/assist/cts/AssistStructureTest.java
new file mode 100644
index 0000000..97ab290
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/cts/AssistStructureTest.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.cts;
+
+import android.assist.common.Utils;
+
+import android.provider.Settings;
+
+
+/**
+ *  Test that the AssistStructure returned is properly formatted.
+ */
+
+public class AssistStructureTest extends AssistTestBase {
+    static final String TAG = "AssistStructureTest";
+
+    private static final String TEST_CASE_TYPE = Utils.ASSIST_STRUCTURE;
+
+    public AssistStructureTest() {
+        super();
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        startTestActivity(TEST_CASE_TYPE);
+        waitForBroadcast();
+    }
+
+    public void testAssistStructure() throws Exception {
+        assertEquals("1", Settings.Secure.getString(
+            mContext.getContentResolver(), "assist_structure_enabled"));
+
+        verifyAssistDataNullness(false, false, false, false);
+        verifyAssistStructure(Utils.getTestAppComponent(TEST_CASE_TYPE),
+                    false /*FLAG_SECURE set*/);
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/assist/src/android/assist/cts/AssistTest.java b/tests/tests/assist/src/android/assist/cts/AssistTest.java
new file mode 100644
index 0000000..5241c4e
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/cts/AssistTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.cts;
+
+import android.assist.TestStartActivity;
+
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import junit.framework.Assert;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import android.assist.common.Utils;
+
+public class AssistTest extends ActivityInstrumentationTestCase2<TestStartActivity> {
+    static final String TAG = "AssistTest";
+    private static final int TIMEOUT_MS = 2 * 1000;
+
+    public AssistTest() {
+        super(TestStartActivity.class);
+    }
+}
diff --git a/tests/tests/assist/src/android/assist/cts/AssistTestBase.java b/tests/tests/assist/src/android/assist/cts/AssistTestBase.java
new file mode 100644
index 0000000..e6d08cf
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/cts/AssistTestBase.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.cts;
+
+import android.assist.TestStartActivity;
+import android.assist.common.Utils;
+
+import android.app.assist.AssistContent;
+import android.app.assist.AssistStructure;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.res.XmlResourceParser;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class AssistTestBase extends ActivityInstrumentationTestCase2<TestStartActivity> {
+    static final String TAG = "AssistTestBase";
+
+    protected TestStartActivity mTestActivity;
+    protected AssistContent mAssistContent;
+    protected AssistStructure mAssistStructure;
+    protected Bitmap mScreenshot;
+    protected BroadcastReceiver mReceiver;
+    protected Bundle mAssistBundle;
+    protected Context mContext;
+    protected CountDownLatch mLatch;
+    private String mTestName;
+
+    public AssistTestBase() {
+        super(TestStartActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getTargetContext();
+        assertEquals("1", Settings.Secure.getString(
+            mContext.getContentResolver(), "assist_structure_enabled"));
+        assertEquals("1", Settings.Secure.getString(
+            mContext.getContentResolver(), "assist_screenshot_enabled"));
+        logContextAndScreenshotSetting();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mReceiver);
+        mTestActivity.finish();
+        super.tearDown();
+    }
+
+    protected void startTestActivity(String testName) {
+        Intent intent = new Intent();
+        mTestName = testName;
+        intent.setAction("android.intent.action.TEST_START_ACTIVITY_" + testName);
+        intent.setComponent(new ComponentName(getInstrumentation().getContext(),
+            TestStartActivity.class));
+        setActivityIntent(intent);
+        mTestActivity = getActivity();
+    }
+
+    /**
+     * Called after startTestActivity
+     */
+    protected boolean waitForBroadcast() throws Exception {
+        mLatch = new CountDownLatch(1);
+        if (mReceiver != null) {
+            mContext.unregisterReceiver(mReceiver);
+        }
+        mReceiver = new TestResultsReceiver();
+        mContext.registerReceiver(mReceiver,
+            new IntentFilter(Utils.BROADCAST_ASSIST_DATA_INTENT));
+
+        mTestActivity.start3pApp(mTestName);
+        mTestActivity.startTest(mTestName);
+        if (!mLatch.await(Utils.TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
+            fail("Failed to receive broadcast in " + Utils.TIMEOUT_MS + "msec");
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Checks that the nullness of values are what we expect.
+     * @param isBundleNull True if assistBundle should be null.
+     * @param isStructureNull True if assistStructure should be null.
+     * @param isContentNull True if assistContent should be null.
+     * @param isScreenshotNull True if screenshot should be null.
+     */
+    protected void verifyAssistDataNullness(boolean isBundleNull, boolean isStructureNull,
+            boolean isContentNull, boolean isScreenshotNull) {
+
+        if ((mAssistContent == null) != isContentNull) {
+            fail(String.format("Should %s have been null - AssistContent: %s",
+                    isContentNull? "":"not", mAssistContent));
+        }
+
+        if ((mAssistStructure == null) != isStructureNull) {
+            fail(String.format("Should %s have been null - AssistStructure: %s",
+                isStructureNull ? "" : "not", mAssistStructure));
+        }
+
+        if ((mAssistBundle == null) != isBundleNull) {
+            fail(String.format("Should %s have been null - AssistBundle: %s",
+                    isBundleNull? "":"not", mAssistBundle));
+        }
+
+        if ((mScreenshot == null) != isScreenshotNull) {
+            fail(String.format("Should %s have been null - Screenshot: %s",
+                    isScreenshotNull? "":"not", mScreenshot));
+        }
+    }
+
+    /**
+     * Traverses and compares the view heirarchy of the backgroundApp and the view we expect.
+     *
+     * @param backgroundApp ComponentName of app the assistant is invoked upon
+     * @param isSecureWindow Denotes whether the activity has FLAG_SECURE set
+     */
+    protected void verifyAssistStructure(ComponentName backgroundApp, boolean isSecureWindow) {
+        // Check component name matches
+        assertEquals(backgroundApp.flattenToString(),
+            mAssistStructure.getActivityComponent().flattenToString());
+
+        int numWindows = mAssistStructure.getWindowNodeCount();
+        assertEquals(1, numWindows);
+        for (int i = 0; i < numWindows; i++) {
+            AssistStructure.ViewNode node = mAssistStructure.getWindowNodeAt(i).getRootViewNode();
+            // TODO: Actually traverse the view heirarchy and verify it matches what we expect
+            // If isSecureWindow, will not have any children.
+        }
+    }
+
+    protected void logContextAndScreenshotSetting() {
+        Log.i(TAG, "Context is: " + Settings.Secure.getString(
+            mContext.getContentResolver(), "assist_structure_enabled"));
+        Log.i(TAG, "Screenshot is: " + Settings.Secure.getString(
+            mContext.getContentResolver(), "assist_screenshot_enabled"));
+    }
+
+    class TestResultsReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equalsIgnoreCase(Utils.BROADCAST_ASSIST_DATA_INTENT)) { // not necessary?
+                Log.i(TAG, "Received broadcast with assist data.");
+                Bundle assistData = intent.getExtras();
+                AssistTestBase.this.mAssistBundle = assistData.getBundle(Utils.ASSIST_BUNDLE_KEY);
+                AssistTestBase.this.mAssistStructure = assistData.getParcelable(
+                        Utils.ASSIST_STRUCTURE_KEY);
+                AssistTestBase.this.mAssistContent = assistData.getParcelable(
+                        Utils.ASSIST_CONTENT_KEY);
+
+                byte[] bitmapArray = assistData.getByteArray(Utils.ASSIST_SCREENSHOT_KEY);
+                if (bitmapArray != null) {
+                    AssistTestBase.this.mScreenshot = BitmapFactory.decodeByteArray(
+                            bitmapArray, 0, bitmapArray.length);
+                } else {
+                    AssistTestBase.this.mScreenshot = null;
+                }
+
+                if (mLatch != null) {
+                    mLatch.countDown();
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/assist/src/android/assist/cts/DisableContextTest.java b/tests/tests/assist/src/android/assist/cts/DisableContextTest.java
new file mode 100644
index 0000000..9407ec5
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/cts/DisableContextTest.java
@@ -0,0 +1,98 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.cts;
+
+import android.assist.TestStartActivity;
+import android.assist.common.Utils;
+
+import android.app.Activity;
+import android.app.assist.AssistContent;
+import android.app.assist.AssistStructure;
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.cts.util.SystemUtil;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import java.lang.Override;
+import java.util.concurrent.CountDownLatch;
+
+/** Test we receive proper assist data when context is disabled or enabled */
+
+public class DisableContextTest extends AssistTestBase {
+    static final String TAG = "DisableContextTest";
+
+    private static final String TEST_CASE_TYPE = Utils.DISABLE_CONTEXT;
+
+    public DisableContextTest() {
+        super();
+    }
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        SystemUtil.runShellCommand(getInstrumentation(),
+                "settings put secure assist_structure_enabled 0");
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_screenshot_enabled 0");
+        logContextAndScreenshotSetting();
+        startTestActivity(TEST_CASE_TYPE);
+        waitForBroadcast();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        SystemUtil.runShellCommand(getInstrumentation(),
+                "settings put secure assist_structure_enabled 1");
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_screenshot_enabled 1");
+        logContextAndScreenshotSetting();
+        super.tearDown();
+    }
+
+    public void testContextAndScreenshotOff() throws Exception {
+        // Both settings off
+        verifyAssistDataNullness(true, true, true, true);
+
+        // Screenshot off, context on
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_structure_enabled 1");
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_screenshot_enabled 0");
+        waitForBroadcast();
+
+        logContextAndScreenshotSetting();
+
+        verifyAssistDataNullness(false, false, false, true);
+
+        // Context off, screenshot on
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_structure_enabled 0");
+        SystemUtil.runShellCommand(getInstrumentation(),
+            "settings put secure assist_screenshot_enabled 1");
+        waitForBroadcast();
+
+        logContextAndScreenshotSetting();
+
+        verifyAssistDataNullness(true, true, true, false);
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/assist/src/android/assist/cts/FlagSecureTest.java b/tests/tests/assist/src/android/assist/cts/FlagSecureTest.java
new file mode 100644
index 0000000..0e79d9d
--- /dev/null
+++ b/tests/tests/assist/src/android/assist/cts/FlagSecureTest.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.cts;
+
+import android.assist.common.Utils;
+
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * Test we receive proper assist data (root assistStructure with no children) when the assistant is
+ * invoked on an app with FLAG_SECURE set.
+ */
+public class FlagSecureTest extends AssistTestBase {
+
+    static final String TAG = "DisableContextTest";
+
+    private static final String TEST_CASE_TYPE = Utils.FLAG_SECURE;
+
+    public FlagSecureTest() {
+        super();
+    }
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        startTestActivity(TEST_CASE_TYPE);
+        waitForBroadcast();
+    }
+
+    @Override
+    public void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void testSecureActivity() throws Exception {
+        verifyAssistDataNullness(false, false, false, true);
+
+        // verify that we have only the root window and not its children.
+        verifyAssistStructure(Utils.getTestAppComponent(TEST_CASE_TYPE), true);
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/assist/testapp/Android.mk b/tests/tests/assist/testapp/Android.mk
new file mode 100644
index 0000000..68297ef
--- /dev/null
+++ b/tests/tests/assist/testapp/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsAssistCommon
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsAssistApp
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/tests/assist/testapp/AndroidManifest.xml b/tests/tests/assist/testapp/AndroidManifest.xml
new file mode 100644
index 0000000..371ae7b
--- /dev/null
+++ b/tests/tests/assist/testapp/AndroidManifest.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.assist.testapp">
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+
+        <activity android:name="TestApp"
+                android:label="Assist Test App"
+                android:theme="@android:style/Theme.Material.Light">
+          <intent-filter>
+              <action android:name="android.intent.action.TEST_APP_ASSIST_STRUCTURE" />
+              <category android:name="android.intent.category.DEFAULT" />
+              <category android:name="android.intent.category.VOICE" />
+          </intent-filter>
+        </activity>
+        <activity android:name="SecureActivity"
+                  android:label="Secure Test App"
+                  android:theme="@android:style/Theme.Material.Light">
+            <intent-filter>
+                <action android:name="android.intent.action.TEST_APP_FLAG_SECURE" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.VOICE" />
+            </intent-filter>
+        </activity>
+    </application>
+</manifest>
diff --git a/tests/tests/assist/testapp/res/layout/secure_app.xml b/tests/tests/assist/testapp/res/layout/secure_app.xml
new file mode 100644
index 0000000..9169a37
--- /dev/null
+++ b/tests/tests/assist/testapp/res/layout/secure_app.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<RelativeLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:tools="http://schemas.android.com/tools"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/welcome" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/tests/tests/assist/testapp/res/layout/test_app.xml b/tests/tests/assist/testapp/res/layout/test_app.xml
new file mode 100644
index 0000000..9169a37
--- /dev/null
+++ b/tests/tests/assist/testapp/res/layout/test_app.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<RelativeLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:tools="http://schemas.android.com/tools"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/welcome" />
+</RelativeLayout>
\ No newline at end of file
diff --git a/tests/tests/assist/testapp/res/values/strings.xml b/tests/tests/assist/testapp/res/values/strings.xml
new file mode 100644
index 0000000..a245b36
--- /dev/null
+++ b/tests/tests/assist/testapp/res/values/strings.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="welcome">Hello there!</string>
+</resources>
\ No newline at end of file
diff --git a/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/SecureActivity.java b/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/SecureActivity.java
new file mode 100644
index 0000000..83f7549
--- /dev/null
+++ b/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/SecureActivity.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.testapp;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+
+import android.view.WindowManager;
+
+public class SecureActivity extends Activity {
+    static final String TAG = "SecureActivity";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, "SecureActivity created");
+        setContentView(R.layout.secure_app);
+        getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
+            WindowManager.LayoutParams.FLAG_SECURE);
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/TestApp.java b/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/TestApp.java
new file mode 100644
index 0000000..85a9342
--- /dev/null
+++ b/tests/tests/assist/testapp/src/android/voiceinteraction/testapp/TestApp.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.assist.testapp;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.util.Log;
+
+public class TestApp extends Activity {
+    static final String TAG = "TestApp";
+
+    Bundle mTestinfo = new Bundle();
+    Bundle mTotalInfo = new Bundle();
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, "TestApp created");
+        getLayoutInflater().inflate(R.layout.test_app, null);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/content/src/android/content/res/cts/PrivateAttributeTest.java b/tests/tests/content/src/android/content/res/cts/PrivateAttributeTest.java
index 35466be..3024896 100644
--- a/tests/tests/content/src/android/content/res/cts/PrivateAttributeTest.java
+++ b/tests/tests/content/src/android/content/res/cts/PrivateAttributeTest.java
@@ -26,7 +26,7 @@
  */
 public class PrivateAttributeTest extends AndroidTestCase {
 
-    private static final int sLastPublicAttr = 0x010104d5;
+    private static final int sLastPublicAttr = 0x010104f1;
 
     public void testNoAttributesAfterLastPublicAttribute() throws Exception {
         final Resources res = getContext().getResources();
diff --git a/tests/tests/deqp/egl-temporary-failures.txt b/tests/tests/deqp/egl-temporary-failures.txt
deleted file mode 100644
index 1a3bb94..0000000
--- a/tests/tests/deqp/egl-temporary-failures.txt
+++ /dev/null
@@ -1,780 +0,0 @@
-dEQP-EGL.functional.sharing.gles2.multithread.simple.textures#gen_delete
-dEQP-EGL.functional.sharing.gles2.multithread.simple.textures#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple.textures#teximage2d_texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple.textures#teximage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple.textures#teximage2d_texsubimage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#create_destroy
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#create_texture
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#create_texture_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#texsubimage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple.images.texture_source#teximage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.teximage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.textures.texsubimage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.gen_delete#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.bufferdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.buffers.buffersubdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.source#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.shaders.compile#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.attach_detach#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#15
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#17
-dEQP-EGL.functional.sharing.gles2.multithread.random.programs.link#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.teximage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random.images.texsubimage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.buffers#gen_delete
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.buffers#bufferdata
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.buffers#buffersubdata
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.buffers#bufferdata_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.textures#gen_delete
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.textures#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.textures#teximage2d_texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.textures#teximage2d_texsubimage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.images.texture_source#texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.images.texture_source#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.images.texture_source#create_texture_render
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_sync.images.texture_source#teximage2d_render
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.gen_delete#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.teximage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.textures.texsubimage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.gen_delete#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.bufferdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.buffers.buffersubdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.source#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.shaders.compile#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.attach_detach#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.programs.link#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.teximage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.teximage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.teximage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_sync.images.texsubimage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.buffers#gen_delete
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.buffers#bufferdata
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.buffers#buffersubdata
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.textures#gen_delete
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.textures#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.textures#teximage2d_texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#vtx_create_destroy
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#vtx_shadersource
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#vtx_compile
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#frag_create_destroy
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#frag_shadersource
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.shaders#frag_compile
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.images.texture_source#create_destroy
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.images.texture_source#create_texture
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.images.texture_source#texsubimage2d
-dEQP-EGL.functional.sharing.gles2.multithread.simple_egl_server_sync.images.texture_source#teximage2d
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.gen_delete#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.teximage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.textures.texsubimage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.gen_delete#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.bufferdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.buffers.buffersubdata#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.source#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.attach_detach#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.programs.link#18
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#11
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.create_destroy#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#1
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#4
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#6
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#9
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#15
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#17
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.teximage2d#19
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#0
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#2
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#3
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#5
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#7
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#8
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#10
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#12
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#13
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#14
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#16
-dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.images.texsubimage2d#19
-dEQP-EGL.functional.multithread#config
-dEQP-EGL.functional.multithread#pbuffer
-dEQP-EGL.functional.multithread#pixmap
-dEQP-EGL.functional.multithread#single_window
-dEQP-EGL.functional.multithread#context
-dEQP-EGL.functional.multithread#pbuffer_pixmap
-dEQP-EGL.functional.multithread#pixmap_window
-dEQP-EGL.functional.multithread#pixmap_single_window
-dEQP-EGL.functional.multithread#pixmap_context
-dEQP-EGL.functional.multithread#pbuffer_pixmap_context
-dEQP-EGL.functional.multithread#pixmap_single_window_context
diff --git a/tests/tests/deqp/gles3-golden-tests.txt b/tests/tests/deqp/gles3-golden-tests.txt
deleted file mode 100644
index a57fa40..0000000
--- a/tests/tests/deqp/gles3-golden-tests.txt
+++ /dev/null
@@ -1,37219 +0,0 @@
-dEQP-GLES3.info#vendor
-dEQP-GLES3.info#renderer
-dEQP-GLES3.info#version
-dEQP-GLES3.info#shading_language_version
-dEQP-GLES3.info#extensions
-dEQP-GLES3.info#render_target
-dEQP-GLES3.functional.prerequisite#state_reset
-dEQP-GLES3.functional.prerequisite#clear_color
-dEQP-GLES3.functional.prerequisite#read_pixels
-dEQP-GLES3.functional.implementation_limits#max_element_index
-dEQP-GLES3.functional.implementation_limits#subpixel_bits
-dEQP-GLES3.functional.implementation_limits#max_3d_texture_size
-dEQP-GLES3.functional.implementation_limits#max_texture_size
-dEQP-GLES3.functional.implementation_limits#max_array_texture_layers
-dEQP-GLES3.functional.implementation_limits#max_texture_lod_bias
-dEQP-GLES3.functional.implementation_limits#max_cube_map_texture_size
-dEQP-GLES3.functional.implementation_limits#max_renderbuffer_size
-dEQP-GLES3.functional.implementation_limits#max_draw_buffers
-dEQP-GLES3.functional.implementation_limits#max_color_attachments
-dEQP-GLES3.functional.implementation_limits#aliased_point_size_range
-dEQP-GLES3.functional.implementation_limits#aliased_line_width_range
-dEQP-GLES3.functional.implementation_limits#max_elements_indices
-dEQP-GLES3.functional.implementation_limits#max_elements_vertices
-dEQP-GLES3.functional.implementation_limits#num_compressed_texture_formats
-dEQP-GLES3.functional.implementation_limits#compressed_texture_formats
-dEQP-GLES3.functional.implementation_limits#num_program_binary_formats
-dEQP-GLES3.functional.implementation_limits#num_shader_binary_formats
-dEQP-GLES3.functional.implementation_limits#shader_compiler
-dEQP-GLES3.functional.implementation_limits#max_server_wait_timeout
-dEQP-GLES3.functional.implementation_limits#num_extensions
-dEQP-GLES3.functional.implementation_limits#major_version
-dEQP-GLES3.functional.implementation_limits#minor_version
-dEQP-GLES3.functional.implementation_limits#max_vertex_attribs
-dEQP-GLES3.functional.implementation_limits#max_vertex_uniform_components
-dEQP-GLES3.functional.implementation_limits#max_vertex_uniform_vectors
-dEQP-GLES3.functional.implementation_limits#max_vertex_uniform_blocks
-dEQP-GLES3.functional.implementation_limits#max_vertex_output_components
-dEQP-GLES3.functional.implementation_limits#max_vertex_texture_image_units
-dEQP-GLES3.functional.implementation_limits#max_fragment_uniform_components
-dEQP-GLES3.functional.implementation_limits#max_fragment_uniform_vectors
-dEQP-GLES3.functional.implementation_limits#max_fragment_uniform_blocks
-dEQP-GLES3.functional.implementation_limits#max_fragment_input_components
-dEQP-GLES3.functional.implementation_limits#max_texture_image_units
-dEQP-GLES3.functional.implementation_limits#min_program_texel_offset
-dEQP-GLES3.functional.implementation_limits#max_program_texel_offset
-dEQP-GLES3.functional.implementation_limits#max_uniform_buffer_bindings
-dEQP-GLES3.functional.implementation_limits#max_uniform_block_size
-dEQP-GLES3.functional.implementation_limits#uniform_buffer_offset_alignment
-dEQP-GLES3.functional.implementation_limits#max_combined_uniform_blocks
-dEQP-GLES3.functional.implementation_limits#max_combined_vertex_uniform_components
-dEQP-GLES3.functional.implementation_limits#max_combined_fragment_uniform_components
-dEQP-GLES3.functional.implementation_limits#max_varying_components
-dEQP-GLES3.functional.implementation_limits#max_varying_vectors
-dEQP-GLES3.functional.implementation_limits#max_combined_texture_image_units
-dEQP-GLES3.functional.implementation_limits#max_transform_feedback_interleaved_components
-dEQP-GLES3.functional.implementation_limits#max_transform_feedback_separate_attribs
-dEQP-GLES3.functional.implementation_limits#max_transform_feedback_separate_components
-dEQP-GLES3.functional.color_clear#single_rgb
-dEQP-GLES3.functional.color_clear#single_rgba
-dEQP-GLES3.functional.color_clear#multiple_rgb
-dEQP-GLES3.functional.color_clear#multiple_rgba
-dEQP-GLES3.functional.color_clear#long_rgb
-dEQP-GLES3.functional.color_clear#long_rgba
-dEQP-GLES3.functional.color_clear#subclears_rgb
-dEQP-GLES3.functional.color_clear#subclears_rgba
-dEQP-GLES3.functional.color_clear#short_scissored_rgb
-dEQP-GLES3.functional.color_clear#scissored_rgb
-dEQP-GLES3.functional.color_clear#scissored_rgba
-dEQP-GLES3.functional.color_clear#masked_rgb
-dEQP-GLES3.functional.color_clear#masked_rgba
-dEQP-GLES3.functional.color_clear#masked_scissored_rgb
-dEQP-GLES3.functional.color_clear#masked_scissored_rgba
-dEQP-GLES3.functional.color_clear#complex_rgb
-dEQP-GLES3.functional.color_clear#complex_rgba
-dEQP-GLES3.functional.depth_stencil_clear#depth
-dEQP-GLES3.functional.depth_stencil_clear#depth_scissored
-dEQP-GLES3.functional.depth_stencil_clear#depth_scissored_masked
-dEQP-GLES3.functional.depth_stencil_clear#stencil
-dEQP-GLES3.functional.depth_stencil_clear#stencil_scissored
-dEQP-GLES3.functional.depth_stencil_clear#depth_stencil
-dEQP-GLES3.functional.depth_stencil_clear#depth_stencil_scissored
-dEQP-GLES3.functional.buffer.write.basic#array_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#array_stream_read
-dEQP-GLES3.functional.buffer.write.basic#array_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#array_static_draw
-dEQP-GLES3.functional.buffer.write.basic#array_static_read
-dEQP-GLES3.functional.buffer.write.basic#array_static_copy
-dEQP-GLES3.functional.buffer.write.basic#array_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#array_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#array_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_read_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_read_stream_read
-dEQP-GLES3.functional.buffer.write.basic#copy_read_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_read_static_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_read_static_read
-dEQP-GLES3.functional.buffer.write.basic#copy_read_static_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_read_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_read_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#copy_read_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_write_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_write_stream_read
-dEQP-GLES3.functional.buffer.write.basic#copy_write_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_write_static_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_write_static_read
-dEQP-GLES3.functional.buffer.write.basic#copy_write_static_copy
-dEQP-GLES3.functional.buffer.write.basic#copy_write_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#copy_write_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#copy_write_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#element_array_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#element_array_stream_read
-dEQP-GLES3.functional.buffer.write.basic#element_array_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#element_array_static_draw
-dEQP-GLES3.functional.buffer.write.basic#element_array_static_read
-dEQP-GLES3.functional.buffer.write.basic#element_array_static_copy
-dEQP-GLES3.functional.buffer.write.basic#element_array_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#element_array_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#element_array_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_stream_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_static_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_static_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_static_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_pack_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_stream_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_static_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_static_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_static_copy
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#pixel_unpack_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_stream_read
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_static_draw
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_static_read
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_static_copy
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#transform_feedback_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic#uniform_stream_draw
-dEQP-GLES3.functional.buffer.write.basic#uniform_stream_read
-dEQP-GLES3.functional.buffer.write.basic#uniform_stream_copy
-dEQP-GLES3.functional.buffer.write.basic#uniform_static_draw
-dEQP-GLES3.functional.buffer.write.basic#uniform_static_read
-dEQP-GLES3.functional.buffer.write.basic#uniform_static_copy
-dEQP-GLES3.functional.buffer.write.basic#uniform_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic#uniform_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic#uniform_dynamic_copy
-dEQP-GLES3.functional.buffer.write.recreate_store#identical_1
-dEQP-GLES3.functional.buffer.write.recreate_store#identical_2
-dEQP-GLES3.functional.buffer.write.recreate_store#different_target
-dEQP-GLES3.functional.buffer.write.recreate_store#different_usage
-dEQP-GLES3.functional.buffer.write.recreate_store#different_size
-dEQP-GLES3.functional.buffer.write.recreate_store#random_1
-dEQP-GLES3.functional.buffer.write.recreate_store#random_2
-dEQP-GLES3.functional.buffer.write.recreate_store#random_3
-dEQP-GLES3.functional.buffer.write.recreate_store#random_4
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#array_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_read_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#copy_write_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#element_array_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_pack_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#pixel_unpack_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#transform_feedback_dynamic_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_stream_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_stream_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_stream_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_static_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_static_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_static_copy
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_dynamic_draw
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_dynamic_read
-dEQP-GLES3.functional.buffer.write.basic_subdata#uniform_dynamic_copy
-dEQP-GLES3.functional.buffer.write.partial_specify#whole_1
-dEQP-GLES3.functional.buffer.write.partial_specify#whole_2
-dEQP-GLES3.functional.buffer.write.partial_specify#whole_3
-dEQP-GLES3.functional.buffer.write.partial_specify#whole_4
-dEQP-GLES3.functional.buffer.write.partial_specify#low_1
-dEQP-GLES3.functional.buffer.write.partial_specify#low_2
-dEQP-GLES3.functional.buffer.write.partial_specify#low_3
-dEQP-GLES3.functional.buffer.write.partial_specify#high_1
-dEQP-GLES3.functional.buffer.write.partial_specify#high_2
-dEQP-GLES3.functional.buffer.write.partial_specify#high_3
-dEQP-GLES3.functional.buffer.write.partial_specify#middle_1
-dEQP-GLES3.functional.buffer.write.partial_specify#middle_2
-dEQP-GLES3.functional.buffer.write.partial_specify#middle_3
-dEQP-GLES3.functional.buffer.write.random#0
-dEQP-GLES3.functional.buffer.write.random#1
-dEQP-GLES3.functional.buffer.write.random#2
-dEQP-GLES3.functional.buffer.write.random#3
-dEQP-GLES3.functional.buffer.write.random#4
-dEQP-GLES3.functional.buffer.write.random#5
-dEQP-GLES3.functional.buffer.write.random#6
-dEQP-GLES3.functional.buffer.write.random#7
-dEQP-GLES3.functional.buffer.write.random#8
-dEQP-GLES3.functional.buffer.write.random#9
-dEQP-GLES3.functional.buffer.map.read.sub_data#array_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#array_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#copy_read_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#copy_read_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#copy_write_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#copy_write_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#element_array_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#element_array_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.read.sub_data#uniform_full
-dEQP-GLES3.functional.buffer.map.read.sub_data#uniform_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#array_full
-dEQP-GLES3.functional.buffer.map.read.map_write#array_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#copy_read_full
-dEQP-GLES3.functional.buffer.map.read.map_write#copy_read_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#copy_write_full
-dEQP-GLES3.functional.buffer.map.read.map_write#copy_write_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#element_array_full
-dEQP-GLES3.functional.buffer.map.read.map_write#element_array_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.read.map_write#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.read.map_write#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.read.map_write#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.read.map_write#uniform_full
-dEQP-GLES3.functional.buffer.map.read.map_write#uniform_partial
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_read_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#copy_write_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#element_array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_pack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#pixel_unpack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#transform_feedback_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_stream_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_stream_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_stream_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_static_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_static_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_static_copy
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_dynamic_read
-dEQP-GLES3.functional.buffer.map.read.usage_hints#uniform_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.map_read#array_full
-dEQP-GLES3.functional.buffer.map.write.map_read#array_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#copy_read_full
-dEQP-GLES3.functional.buffer.map.write.map_read#copy_read_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#copy_write_full
-dEQP-GLES3.functional.buffer.map.write.map_read#copy_write_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#element_array_full
-dEQP-GLES3.functional.buffer.map.write.map_read#element_array_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.write.map_read#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.write.map_read#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.write.map_read#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.write.map_read#uniform_full
-dEQP-GLES3.functional.buffer.map.write.map_read#uniform_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#array_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#array_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#copy_read_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#copy_read_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#copy_write_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#copy_write_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#element_array_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#element_array_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#uniform_full
-dEQP-GLES3.functional.buffer.map.write.render_as_vertex_array#uniform_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#array_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#array_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#copy_read_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#copy_read_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#copy_write_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#copy_write_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#element_array_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#element_array_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#uniform_full
-dEQP-GLES3.functional.buffer.map.write.render_as_index_array#uniform_partial
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_read_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#copy_write_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#element_array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_pack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#pixel_unpack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#transform_feedback_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_stream_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_stream_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_stream_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_static_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_static_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_static_copy
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_dynamic_draw
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_dynamic_read
-dEQP-GLES3.functional.buffer.map.write.usage_hints#uniform_dynamic_copy
-dEQP-GLES3.functional.buffer.map.write.invalidate#array_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#array_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#copy_read_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#copy_read_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#copy_write_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#copy_write_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#element_array_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#element_array_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#pixel_pack_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#pixel_pack_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#pixel_unpack_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#pixel_unpack_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#transform_feedback_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#transform_feedback_write_partial
-dEQP-GLES3.functional.buffer.map.write.invalidate#uniform_write_all
-dEQP-GLES3.functional.buffer.map.write.invalidate#uniform_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#array_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#array_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#copy_read_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#copy_read_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#copy_write_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#copy_write_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#element_array_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#element_array_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#pixel_pack_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#pixel_pack_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#pixel_unpack_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#pixel_unpack_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#transform_feedback_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#transform_feedback_write_partial
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#uniform_write_all
-dEQP-GLES3.functional.buffer.map.write.partial_invalidate#uniform_write_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#array_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#array_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#copy_read_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#copy_read_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#copy_write_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#copy_write_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#element_array_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#element_array_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#pixel_pack_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#pixel_unpack_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#transform_feedback_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#uniform_all
-dEQP-GLES3.functional.buffer.map.write.explicit_flush#uniform_partial
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#array
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#copy_read
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#copy_write
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#element_array
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#pixel_pack
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#pixel_unpack
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#transform_feedback
-dEQP-GLES3.functional.buffer.map.write.unsynchronized#uniform
-dEQP-GLES3.functional.buffer.map.read_write.map_read#array_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#array_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#copy_read_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#copy_read_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#copy_write_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#copy_write_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#element_array_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#element_array_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.read_write.map_read#uniform_full
-dEQP-GLES3.functional.buffer.map.read_write.map_read#uniform_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#array_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#array_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#copy_read_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#copy_read_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#copy_write_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#copy_write_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#element_array_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#element_array_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#uniform_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_vertex_array#uniform_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#array_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#array_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#copy_read_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#copy_read_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#copy_write_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#copy_write_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#element_array_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#element_array_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#pixel_pack_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#pixel_pack_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#pixel_unpack_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#pixel_unpack_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#transform_feedback_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#transform_feedback_partial
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#uniform_full
-dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array#uniform_partial
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_read_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#copy_write_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#element_array_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_pack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#pixel_unpack_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#transform_feedback_dynamic_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_stream_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_stream_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_stream_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_static_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_static_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_static_copy
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_dynamic_draw
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_dynamic_read
-dEQP-GLES3.functional.buffer.map.read_write.usage_hints#uniform_dynamic_copy
-dEQP-GLES3.functional.buffer.copy.basic#array_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#array_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#array_element_array
-dEQP-GLES3.functional.buffer.copy.basic#array_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#array_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#array_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#array_uniform
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_array
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_element_array
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#copy_read_uniform
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_array
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_element_array
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#copy_write_uniform
-dEQP-GLES3.functional.buffer.copy.basic#element_array_array
-dEQP-GLES3.functional.buffer.copy.basic#element_array_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#element_array_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#element_array_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#element_array_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#element_array_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#element_array_uniform
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_array
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_element_array
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#pixel_pack_uniform
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_array
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_element_array
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_transform_feedback
-dEQP-GLES3.functional.buffer.copy.basic#pixel_unpack_uniform
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_array
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_element_array
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#transform_feedback_uniform
-dEQP-GLES3.functional.buffer.copy.basic#uniform_array
-dEQP-GLES3.functional.buffer.copy.basic#uniform_copy_read
-dEQP-GLES3.functional.buffer.copy.basic#uniform_copy_write
-dEQP-GLES3.functional.buffer.copy.basic#uniform_element_array
-dEQP-GLES3.functional.buffer.copy.basic#uniform_pixel_pack
-dEQP-GLES3.functional.buffer.copy.basic#uniform_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.basic#uniform_transform_feedback
-dEQP-GLES3.functional.buffer.copy.subrange#middle
-dEQP-GLES3.functional.buffer.copy.subrange#small_to_large
-dEQP-GLES3.functional.buffer.copy.subrange#large_to_small
-dEQP-GLES3.functional.buffer.copy.subrange#low_to_high_1
-dEQP-GLES3.functional.buffer.copy.subrange#low_to_high_2
-dEQP-GLES3.functional.buffer.copy.subrange#high_to_low_1
-dEQP-GLES3.functional.buffer.copy.subrange#high_to_low_2
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#array_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_read_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#copy_write_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#element_array_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_pack_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_transform_feedback
-dEQP-GLES3.functional.buffer.copy.single_buffer#pixel_unpack_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#transform_feedback_uniform
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_copy_read
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_copy_write
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_element_array
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_pixel_pack
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_pixel_unpack
-dEQP-GLES3.functional.buffer.copy.single_buffer#uniform_transform_feedback
-dEQP-GLES3.functional.shaders.preprocessor.basic#correct_phases_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#correct_phases_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#invalid_identifier_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#invalid_identifier_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#null_directive_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#null_directive_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#invalid_directive_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#invalid_directive_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#missing_identifier_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#missing_identifier_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_object_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_object_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_function_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_function_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_directive_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#empty_directive_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#define_value_and_function_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#define_value_and_function_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_object_invalid_syntax_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_object_invalid_syntax_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_invalid_object_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_function_vertex
-dEQP-GLES3.functional.shaders.preprocessor.definitions#undefine_function_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#define_non_identifier_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#define_non_identifier_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#undef_non_identifier_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#undef_non_identifier_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#undef_non_identifier_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_definitions#undef_non_identifier_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_ident_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_ident_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_whitespace_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_whitespace_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_op_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_op_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_floatval_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_floatval_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_floatval_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_floatval_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_intval_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_intval_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_intval_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#invalid_object_intval_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_undef_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_undef_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_ifndef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_ifndef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_defined_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_defined_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_defined_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_defined_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_multiline_comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions#redefine_object_multiline_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions#invalid_identifier_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions#invalid_identifier_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#multiline_comment_define_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#multiline_comment_define_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#nested_comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#nested_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#comment_trick_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#comment_trick_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#comment_trick_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#comment_trick_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#invalid_comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#invalid_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#unterminated_comment_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#unterminated_comment_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#unterminated_comment_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#unterminated_comment_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#define_vertex
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#define_fragment
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#preprocessing_token_vertex
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#preprocessing_token_fragment
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#token_vertex
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#token_fragment
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#middle_of_line_vertex
-dEQP-GLES3.functional.shaders.preprocessor.line_continuation#middle_of_line_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#same_object_and_function_param_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#same_object_and_function_param_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#complex_func_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#complex_func_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#function_definition_with_comments_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_definitions#function_definition_with_comments_fragment
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.recursion#recursion_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#function_redefinition_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.function_redefinitions#invalid_function_redefinition_param_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_6_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_6_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_7_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_7_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_8_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#arguments_8_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#unique_param_name_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#unique_param_name_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#argument_list_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_function_definitions#no_closing_parenthesis_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.semantic#ops_as_arguments_vertex
-dEQP-GLES3.functional.shaders.preprocessor.semantic#ops_as_arguments_fragment
-dEQP-GLES3.functional.shaders.preprocessor.semantic#correct_order_vertex
-dEQP-GLES3.functional.shaders.preprocessor.semantic#correct_order_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#version_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#version_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#gl_es_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#gl_es_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#gl_es_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#gl_es_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#line_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#line_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#file_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#file_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#if_gl_es_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#if_gl_es_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#if_version_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#if_version_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#basic_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#unary_ops_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#unary_ops_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#unary_ops_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion#unary_ops_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_op_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_op_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_op_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_op_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_identifier_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_rparen_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#invalid_defined_expected_rparen_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#defined_define_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_ops#defined_define_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#valid_undefined_identifier_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#valid_undefined_identifier_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#valid_undefined_identifier_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#valid_undefined_identifier_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_6_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_6_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_7_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_7_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_8_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_8_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_9_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_9_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_10_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_10_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_11_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_11_fragment
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_12_vertex
-dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers#undefined_identifier_12_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_ifndef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_ifndef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#invalid_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#invalid_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#invalid_ifndef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#invalid_ifndef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_if_defined_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#empty_if_defined_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_if_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_if_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_if_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_if_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_ifndef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_ifndef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_else_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_else_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_else_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_else_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_elif_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#elif_after_else_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#elif_after_else_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#else_without_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#else_without_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#elif_without_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#elif_without_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#endif_without_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#endif_without_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#else_after_else_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#else_after_else_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#nested_elif_without_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#nested_elif_without_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#if_float_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#if_float_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_elif_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_elif_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_else_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_else_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_endif_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_endif_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_ifdef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_ifdef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_ifndef_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#tokens_after_ifndef_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_nested_blocks_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_conditionals#unterminated_nested_blocks_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifdef_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifndef_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifndef_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifndef_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#ifndef_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#mixed_conditional_inclusion_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#mixed_conditional_inclusion_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.conditionals#nested_if_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_is_less_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_is_less_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_is_more_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_is_more_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_missing_es_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_missing_es_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_missing_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_missing_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_not_first_statement_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_not_first_statement_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_not_first_statement_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_not_first_statement_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_invalid_token_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_invalid_token_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_invalid_token_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#version_invalid_token_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#invalid_version_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#invalid_version_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#additional_tokens_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#additional_tokens_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#error_with_no_tokens_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#error_with_no_tokens_fragment
-dEQP-GLES3.functional.shaders.preprocessor.directive#error_vertex
-dEQP-GLES3.functional.shaders.preprocessor.directive#error_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_and_file_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_and_file_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_defined_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_defined_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#empty_line_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#empty_line_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#pragma_vertex
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#pragma_fragment
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#pragma_macro_exp_vertex
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#pragma_macro_exp_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#basic_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#basic_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#macro_exp_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#macro_exp_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_extension_name_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_extension_name_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_extension_name_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_extension_name_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_colon_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_colon_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#expected_colon_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#expected_colon_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_behavior_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#missing_behavior_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_behavior_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_behavior_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_behavior_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_behavior_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_char_in_name_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_char_in_name_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_char_in_behavior_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#invalid_char_in_behavior_fragment
-dEQP-GLES3.functional.shaders.preprocessor.extensions#unterminated_comment_vertex
-dEQP-GLES3.functional.shaders.preprocessor.extensions#unterminated_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#shift_left_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#shift_left_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#shift_right_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#shift_right_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#cmp_less_than_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#cmp_less_than_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#less_or_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#less_or_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#or_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#or_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#and_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#and_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#xor_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#xor_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#mod_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#mod_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_value_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_value_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_tricky_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_tricky_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_if_no_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_if_no_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_multi_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_multi_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_single_if_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_single_if_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_ifelse_true_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_ifelse_true_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_ifelse_false_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#parenthesis_ifelse_false_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_basic_0_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_basic_0_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_basic_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_basic_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_simple_precedence_0_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_simple_precedence_0_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_simple_precedence_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#eval_simple_precedence_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_4_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_5_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_5_fragment
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_6_vertex
-dEQP-GLES3.functional.shaders.preprocessor.expressions#defined_6_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_unary_expr_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_unary_expr_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_binary_expr_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_binary_expr_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#missing_expr_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#missing_expr_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#invalid_expr_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#unopened_parenthesis_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#unopened_parenthesis_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#unclosed_parenthesis_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_expressions#unclosed_parenthesis_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_not_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_not_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_not_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_not_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_not_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_not_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_bit_invert_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_bit_invert_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_minus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_minus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_plus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#modulo_vs_plus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_bit_invert_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_bit_invert_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_minus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_minus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_plus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#div_vs_plus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_bit_invert_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_bit_invert_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_minus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_minus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_plus_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#mul_vs_plus_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_modulo_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_modulo_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_div_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_div_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_mul_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#sub_vs_mul_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_modulo_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_modulo_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_div_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_div_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_mul_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#add_vs_mul_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#rshift_vs_sub_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#rshift_vs_sub_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#rshift_vs_add_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#rshift_vs_add_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#lshift_vs_sub_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#lshift_vs_sub_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#lshift_vs_add_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#lshift_vs_add_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_or_equal_vs_rshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_or_equal_vs_rshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_or_equal_vs_lshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_or_equal_vs_lshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_or_equal_vs_rshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_or_equal_vs_rshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_or_equal_vs_lshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_or_equal_vs_lshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_vs_rshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_vs_rshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_vs_lshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#greater_vs_lshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_vs_rshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_vs_rshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_vs_lshift_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#less_vs_lshift_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_greater_or_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_greater_or_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_less_or_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_less_or_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_greater_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_greater_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_less_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#not_equal_vs_less_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_greater_or_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_greater_or_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_less_or_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_less_or_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_greater_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_greater_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_less_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#equal_vs_less_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_and_vs_not_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_and_vs_not_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_and_vs_equal_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_and_vs_equal_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#xor_vs_bitwise_and_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#xor_vs_bitwise_and_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_or_vs_xor_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#bitwise_or_vs_xor_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_and_vs_bitwise_or_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_and_vs_bitwise_or_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_and_vs_bitwise_and_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_and_vs_bitwise_and_fragment
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_or_vs_logical_and_vertex
-dEQP-GLES3.functional.shaders.preprocessor.operator_precedence#logical_or_vs_logical_and_fragment
-dEQP-GLES3.functional.shaders.constants#float_input_vertex
-dEQP-GLES3.functional.shaders.constants#float_input_fragment
-dEQP-GLES3.functional.shaders.constants#float_uniform_vertex
-dEQP-GLES3.functional.shaders.constants#float_uniform_fragment
-dEQP-GLES3.functional.shaders.constants#float_0_vertex
-dEQP-GLES3.functional.shaders.constants#float_0_fragment
-dEQP-GLES3.functional.shaders.constants#float_1_vertex
-dEQP-GLES3.functional.shaders.constants#float_1_fragment
-dEQP-GLES3.functional.shaders.constants#float_2_vertex
-dEQP-GLES3.functional.shaders.constants#float_2_fragment
-dEQP-GLES3.functional.shaders.constants#float_3_vertex
-dEQP-GLES3.functional.shaders.constants#float_3_fragment
-dEQP-GLES3.functional.shaders.constants#float_4_vertex
-dEQP-GLES3.functional.shaders.constants#float_4_fragment
-dEQP-GLES3.functional.shaders.constants#float_5_vertex
-dEQP-GLES3.functional.shaders.constants#float_5_fragment
-dEQP-GLES3.functional.shaders.constants#float_6_vertex
-dEQP-GLES3.functional.shaders.constants#float_6_fragment
-dEQP-GLES3.functional.shaders.constants#float_7_vertex
-dEQP-GLES3.functional.shaders.constants#float_7_fragment
-dEQP-GLES3.functional.shaders.constants#float_8_vertex
-dEQP-GLES3.functional.shaders.constants#float_8_fragment
-dEQP-GLES3.functional.shaders.constants#float_f_suffix_0_vertex
-dEQP-GLES3.functional.shaders.constants#float_f_suffix_0_fragment
-dEQP-GLES3.functional.shaders.constants#float_f_suffix_1_vertex
-dEQP-GLES3.functional.shaders.constants#float_f_suffix_1_fragment
-dEQP-GLES3.functional.shaders.constants#int_0_vertex
-dEQP-GLES3.functional.shaders.constants#int_0_fragment
-dEQP-GLES3.functional.shaders.constants#int_1_vertex
-dEQP-GLES3.functional.shaders.constants#int_1_fragment
-dEQP-GLES3.functional.shaders.constants#int_2_vertex
-dEQP-GLES3.functional.shaders.constants#int_2_fragment
-dEQP-GLES3.functional.shaders.constants#int_3_vertex
-dEQP-GLES3.functional.shaders.constants#int_3_fragment
-dEQP-GLES3.functional.shaders.constants#int_4_vertex
-dEQP-GLES3.functional.shaders.constants#int_4_fragment
-dEQP-GLES3.functional.shaders.constants#bool_0_vertex
-dEQP-GLES3.functional.shaders.constants#bool_0_fragment
-dEQP-GLES3.functional.shaders.constants#bool_1_vertex
-dEQP-GLES3.functional.shaders.constants#bool_1_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_global_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_global_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_main_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_main_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_function_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_function_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_scope_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_scope_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_1_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_1_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_2_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_2_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_3_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_3_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_4_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_scope_shawdowing_4_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_operations_with_const_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_operations_with_const_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_1_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_1_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_2_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_2_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_3_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_3_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_4_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assignment_4_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assign_uniform_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assign_uniform_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assign_varying
-dEQP-GLES3.functional.shaders.constants#const_float_from_int_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_from_int_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec2_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec2_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec3_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec3_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec4_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_from_vec4_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assign_variable_1_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assign_variable_1_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assign_variable_2_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assign_variable_2_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_assign_user_func_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_assign_user_func_fragment
-dEQP-GLES3.functional.shaders.constants#int_decimal_vertex
-dEQP-GLES3.functional.shaders.constants#int_decimal_fragment
-dEQP-GLES3.functional.shaders.constants#int_octal_vertex
-dEQP-GLES3.functional.shaders.constants#int_octal_fragment
-dEQP-GLES3.functional.shaders.constants#int_hexadecimal_0_vertex
-dEQP-GLES3.functional.shaders.constants#int_hexadecimal_0_fragment
-dEQP-GLES3.functional.shaders.constants#int_hexadecimal_1_vertex
-dEQP-GLES3.functional.shaders.constants#int_hexadecimal_1_fragment
-dEQP-GLES3.functional.shaders.constants#uint_decimal_0_vertex
-dEQP-GLES3.functional.shaders.constants#uint_decimal_0_fragment
-dEQP-GLES3.functional.shaders.constants#uint_decimal_1_vertex
-dEQP-GLES3.functional.shaders.constants#uint_decimal_1_fragment
-dEQP-GLES3.functional.shaders.constants#uint_octal_0_vertex
-dEQP-GLES3.functional.shaders.constants#uint_octal_0_fragment
-dEQP-GLES3.functional.shaders.constants#uint_octal_1_vertex
-dEQP-GLES3.functional.shaders.constants#uint_octal_1_fragment
-dEQP-GLES3.functional.shaders.constants#uint_hexadecimal_0_vertex
-dEQP-GLES3.functional.shaders.constants#uint_hexadecimal_0_fragment
-dEQP-GLES3.functional.shaders.constants#uint_hexadecimal_1_vertex
-dEQP-GLES3.functional.shaders.constants#uint_hexadecimal_1_fragment
-dEQP-GLES3.functional.shaders.constants#int_from_uint_vertex
-dEQP-GLES3.functional.shaders.constants#int_from_uint_fragment
-dEQP-GLES3.functional.shaders.constants#uint_from_int_vertex
-dEQP-GLES3.functional.shaders.constants#uint_from_int_fragment
-dEQP-GLES3.functional.shaders.constants#int_from_float_vertex
-dEQP-GLES3.functional.shaders.constants#int_from_float_fragment
-dEQP-GLES3.functional.shaders.constants#uint_from_float_vertex
-dEQP-GLES3.functional.shaders.constants#uint_from_float_fragment
-dEQP-GLES3.functional.shaders.constants#bool_from_int_vertex
-dEQP-GLES3.functional.shaders.constants#bool_from_int_fragment
-dEQP-GLES3.functional.shaders.constants#bool_from_uint_vertex
-dEQP-GLES3.functional.shaders.constants#bool_from_uint_fragment
-dEQP-GLES3.functional.shaders.constants#bool_from_float_vertex
-dEQP-GLES3.functional.shaders.constants#bool_from_float_fragment
-dEQP-GLES3.functional.shaders.constants#invalid_octal_0_vertex
-dEQP-GLES3.functional.shaders.constants#invalid_octal_0_fragment
-dEQP-GLES3.functional.shaders.constants#invalid_hexadecimal_0_vertex
-dEQP-GLES3.functional.shaders.constants#invalid_hexadecimal_0_fragment
-dEQP-GLES3.functional.shaders.constants#invalid_hexadecimal_1_vertex
-dEQP-GLES3.functional.shaders.constants#invalid_hexadecimal_1_fragment
-dEQP-GLES3.functional.shaders.linkage.varying.rules#fragment_declare
-dEQP-GLES3.functional.shaders.linkage.varying.rules#vertex_declare
-dEQP-GLES3.functional.shaders.linkage.varying.rules#both_declare
-dEQP-GLES3.functional.shaders.linkage.varying.rules#vertex_declare_fragment_use
-dEQP-GLES3.functional.shaders.linkage.varying.rules#vertex_use_fragment_declare
-dEQP-GLES3.functional.shaders.linkage.varying.rules#vertex_use_declare_fragment
-dEQP-GLES3.functional.shaders.linkage.varying.rules#vertex_use_fragment_use
-dEQP-GLES3.functional.shaders.linkage.varying.rules#differing_precision_1
-dEQP-GLES3.functional.shaders.linkage.varying.rules#differing_precision_2
-dEQP-GLES3.functional.shaders.linkage.varying.rules#differing_precision_3
-dEQP-GLES3.functional.shaders.linkage.varying.rules#type_mismatch_2
-dEQP-GLES3.functional.shaders.linkage.varying.rules#type_mismatch_3
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_bool
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#float
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#vec2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#vec3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#vec4
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat2x3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat2x4
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat3x2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat3x4
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat4x2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat4x3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#mat4
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#int
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#ivec2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#ivec3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#ivec4
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#uint
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#uvec2
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#uvec3
-dEQP-GLES3.functional.shaders.linkage.varying.basic_types#uvec4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#float
-dEQP-GLES3.functional.shaders.linkage.varying.struct#vec2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#vec3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#vec4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat2x3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat2x4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat3x2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat3x4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat4x2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat4x3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#mat4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#int
-dEQP-GLES3.functional.shaders.linkage.varying.struct#ivec2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#ivec3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#ivec4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#uint
-dEQP-GLES3.functional.shaders.linkage.varying.struct#uvec2
-dEQP-GLES3.functional.shaders.linkage.varying.struct#uvec3
-dEQP-GLES3.functional.shaders.linkage.varying.struct#uvec4
-dEQP-GLES3.functional.shaders.linkage.varying.struct#float_vec3
-dEQP-GLES3.functional.shaders.linkage.varying.interpolation#smooth
-dEQP-GLES3.functional.shaders.linkage.varying.interpolation#centroid
-dEQP-GLES3.functional.shaders.linkage.varying.interpolation#flat
-dEQP-GLES3.functional.shaders.linkage.varying.usage#readback_1
-dEQP-GLES3.functional.shaders.linkage.varying.usage#writeback_1
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#basic
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vertex_only
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#fragment_only
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vec4
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vertex_only_vec4
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#fragment_only_vec4
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec4
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vec4_vec3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vertex_only_vec4_vec3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#fragment_only_vec4_vec3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec4_vec3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vec4_float
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#vertex_only_vec4_float
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#fragment_only_vec4_float
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec4_float
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec4_struct
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec4_vec3_struct
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec2_vec3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_vec2_int
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_int_float
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_bvec2_vec2
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_ivec2_vec2
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#partial_ivec2_ivec2
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#light_struct_highp
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#light_struct_mediump
-dEQP-GLES3.functional.shaders.linkage.uniform.block#type_mismatch
-dEQP-GLES3.functional.shaders.linkage.uniform.block#members_mismatch
-dEQP-GLES3.functional.shaders.linkage.uniform.block#layout_qualifier_mismatch_4
-dEQP-GLES3.functional.shaders.linkage.uniform.block#layout_qualifier_mismatch_5
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#float_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#int_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#uint_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_scalar#bool_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#float_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#int_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#uint_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_vector#bool_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_float_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_float_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_int_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_int_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_bool_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_bool_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec2_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec3_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#vec4_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec2_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec3_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#ivec4_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec2_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec3_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#uvec4_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec2_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec3_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_uint_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_scalar#bvec4_to_uint_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#vec3_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#ivec3_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#uvec3_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_illegal#bvec3_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec4_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec4_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec4_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec4_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec3_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec3_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec3_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec3_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#vec2_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#ivec2_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#uvec2_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_to_vector#bvec2_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#float_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#int_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#uint_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.scalar_to_matrix#bool_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x3_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat4x2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x4_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat3x2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x4_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2x3_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_to_matrix#mat2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_vec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_vec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_ivec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_ivec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_bvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_bvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_vec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_bvec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_float_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_int_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_uint_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_bool_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_bool_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_ivec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bvec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec3_float_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec3_float_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_ivec2_int_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_ivec2_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec3_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_uvec4_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uvec2_bool_to_uvec4_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_vec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_vec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_ivec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_ivec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_bvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_bvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_float_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_int_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_uint_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_bool_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_float_int_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#vec2_bool_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_float_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bvec2_int_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_ivec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_uvec3_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_uvec2_to_uvec3_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_vec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_vec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_ivec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_ivec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_bvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_bvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_float_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_int_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_uint_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#bool_bool_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_int_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#float_bool_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_bool_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#int_uint_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_uvec2_vertex
-dEQP-GLES3.functional.shaders.conversions.vector_combine#uint_float_to_uvec2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_vec2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_vec2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec2_bvec2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec2_bvec2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#uint_uint_uint_uint_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#uint_uint_uint_uint_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_ivec2_int_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_ivec2_int_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_ivec2_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_ivec2_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_uvec3_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_uvec3_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_uvec2_bool_to_mat2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_uvec2_bool_to_mat2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_bvec3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_bvec3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_float_float_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_float_float_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_int_int_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_int_int_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_bool_bool_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_bool_bool_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_float_int_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_float_int_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_ivec3_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_ivec3_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec4_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec4_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_ivec2_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_ivec2_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_bvec2_to_mat2x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_bvec2_to_mat2x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_to_mat2x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_to_mat2x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_bvec3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_bvec3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_float_float_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_float_float_float_float_float_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_int_int_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#int_int_int_int_int_int_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_bool_bool_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bool_bool_bool_bool_bool_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_float_int_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_bool_float_int_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_ivec3_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_ivec3_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec4_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_bvec4_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_ivec2_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec3_float_ivec2_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_bvec2_to_mat3x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_float_bvec2_to_mat3x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec3_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec3_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec3_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec3_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_bool_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_bool_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_float_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_float_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_bool_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_bool_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_bool_to_mat3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_bool_to_mat3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec4_int_vec4_bool_float_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec4_int_vec4_bool_float_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec4_bool_bool_int_to_mat3x4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec4_bool_bool_int_to_mat3x4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec3_vec3_vec2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec3_ivec3_ivec2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_int_bool_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec2_bool_bvec2_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec2_int_vec4_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_to_mat4x2_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec2_bool_to_mat4x2_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec4_int_vec4_bool_float_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bool_bvec4_int_vec4_bool_float_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec4_bool_bool_int_to_mat4x3_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_bvec4_ivec4_bool_bool_int_to_mat4x3_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_vec4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#vec4_vec4_vec4_vec4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_ivec4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#ivec4_ivec4_ivec4_ivec4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec4_bvec4_bvec4_bvec4_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#bvec4_bvec4_bvec4_bvec4_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_vertex
-dEQP-GLES3.functional.shaders.conversions.matrix_combine#float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#single_statement_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#single_statement_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#compound_statement_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#compound_statement_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#sequence_statements_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#sequence_statements_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#sequence_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#sequence_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#complex_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#complex_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#if_else_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#if_else_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#if_elseif_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#if_elseif_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#if_elseif_else_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#if_elseif_else_fragment
-dEQP-GLES3.functional.shaders.conditionals.if#mixed_if_elseif_else_vertex
-dEQP-GLES3.functional.shaders.conditionals.if#mixed_if_elseif_else_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#missing_parenthesis_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#missing_parenthesis_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#unclosed_parenthesis_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#unclosed_parenthesis_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_zero_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_zero_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_one_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_one_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_uniform_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#int_uniform_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_zero_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_zero_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_one_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#float_one_condition_fragment
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#sampler_condition_vertex
-dEQP-GLES3.functional.shaders.conditionals.invalid_if#sampler_condition_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#in_in_vertex_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#out_in_vertex_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#in_in_fragment_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#out_in_fragment_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_in_vertex_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_in_fragment_main
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_in_main_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_in_main_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_uniform_block_1_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_uniform_block_1_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_layout_qualifier_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_layout_qualifier_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_member_layout_qualifier_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_member_layout_qualifier_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_nested_struct_definition_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_nested_struct_definition_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#nested_uniform_block_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#nested_uniform_block_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_missing_member_semicolon_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_missing_member_semicolon_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_missing_end_semicolon_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_missing_end_semicolon_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_1_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_1_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_2_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_2_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_3_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_member_name_3_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_1_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_1_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_2_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_2_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_3_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_instance_name_3_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_array_without_instance_name_1_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_array_without_instance_name_1_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_array_without_instance_name_2_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_array_without_instance_name_2_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_ss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_ss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_st_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_st_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_ts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_ts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_gr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_gr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec2_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_z_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_z_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xyz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xyz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xzx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xzx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xyyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_xyyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_zzzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_p_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_p_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_stp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_stp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_ppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_ppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_ppt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_ppt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sps_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_sps_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_stts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_stts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_pppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_b_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_b_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rgb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rgb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rbr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rbr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rggr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_rggr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec3_bbbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_w_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_w_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_www_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_www_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_yyw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_yyw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xyzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xyzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xxxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xxxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wwww_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wwww_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wzzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wwwy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_wwwy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_zzwz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_zzwz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_q_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_q_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qs_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qs_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ttq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ttq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qpt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qpt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_stpq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_stpq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qpts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qpts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ssss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ssss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qppq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qppq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqqt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_qqqt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ppqp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ppqp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_a_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_a_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ar_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ar_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_ab_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_gga_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_gga_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rgba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rgba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rrrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rrrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_abba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaag_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_aaag_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_bbab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_vec4_bbab_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_ss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_ss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_st_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_st_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_ts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_ts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_gr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_gr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec2_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_z_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_z_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xyz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xyz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xzx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xzx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xyyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_xyyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_zzzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_p_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_p_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_stp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_stp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_ppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_ppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_ppt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_ppt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sps_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_sps_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_stts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_stts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_pppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_b_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_b_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rgb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rgb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rbr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rbr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rggr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_rggr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec3_bbbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_w_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_w_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_www_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_www_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_yyw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_yyw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xyzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xyzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xxxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xxxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wwww_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wwww_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wzzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wwwy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_wwwy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_zzwz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_zzwz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_q_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_q_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qs_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qs_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ttq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ttq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qpt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qpt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_stpq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_stpq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qpts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qpts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ssss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ssss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qppq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qppq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqqt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_qqqt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ppqp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ppqp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_a_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_a_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ar_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ar_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_ab_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_gga_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_gga_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rgba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rgba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rrrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rrrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_abba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaag_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_aaag_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_bbab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_ivec4_bbab_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_ss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_ss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_st_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_st_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_ts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_ts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_gr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_gr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec2_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_z_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_z_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xyz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xyz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_yxy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_yxy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xzx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xzx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xyyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_xyyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzzz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_zzzz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_p_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_p_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_stp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_stp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_ppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_ppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_ppt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_ppt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_tst_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_tst_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sps_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_sps_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_stts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_stts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pppp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_pppp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_b_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_b_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rgb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rgb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_grg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_grg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rbr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rbr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rggr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_rggr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbbb_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec3_bbbb_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_x_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_x_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_w_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_w_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_www_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_www_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_yyw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_yyw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xyzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xyzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzyx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzyx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xxxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xxxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_yyyy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_yyyy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wwww_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wwww_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzzw_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wzzw_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wwwy_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_wwwy_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xyxx_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_xyxx_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_zzwz_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_zzwz_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_s_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_s_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_q_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_q_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qs_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qs_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ttq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ttq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qpt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qpt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_stpq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_stpq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qpts_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qpts_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ssss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ssss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_tttt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_tttt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqqq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqqq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qppq_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qppq_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqqt_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_qqqt_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_stss_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_stss_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ppqp_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ppqp_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_r_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_r_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_a_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_a_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ar_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ar_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_ab_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_gga_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_gga_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rgba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rgba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abgr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abgr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rrrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rrrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_gggg_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_gggg_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaaa_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaaa_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abba_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_abba_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaag_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_aaag_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rgrr_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_rgrr_fragment
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_bbab_vertex
-dEQP-GLES3.functional.shaders.swizzles.vector_swizzles#mediump_bvec4_bbab_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_float_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_float_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_vec4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_mat4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#int_int_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#int_int_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#int_ivec4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uint_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uint_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#bool_bool_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#bool_bool_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2x3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2x3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2x4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat2x4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3x2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3x2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3x4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat3x4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4x2_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4x2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4x3_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4x3_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#mat4_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#float_struct_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#float_struct_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#struct_struct_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#struct_struct_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#struct_nested_struct_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#struct_nested_struct_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_lowp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_lowp_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_lowp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_lowp_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_lowp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_lowp_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_highp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_highp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_highp_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_highp_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_in_float_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_in_float_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_lowp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_lowp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_lowp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_lowp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_lowp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_lowp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_highp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_highp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_highp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_highp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_highp_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_highp_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_in_int_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_in_int_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_bool_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#in_bool_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_bool_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#out_bool_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_bool_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#inout_bool_fragment
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_bool_vertex
-dEQP-GLES3.functional.shaders.functions.qualifiers#const_bool_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#basic_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#basic_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#basic_arg_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#basic_arg_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#define_after_use_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#define_after_use_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#double_declare_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#double_declare_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#declare_after_define_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#declare_after_define_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#void_vs_no_void_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#void_vs_no_void_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#in_vs_no_in_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#in_vs_no_in_fragment
-dEQP-GLES3.functional.shaders.functions.declarations#default_vs_explicit_precision_vertex
-dEQP-GLES3.functional.shaders.functions.declarations#default_vs_explicit_precision_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_type_simple_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_type_simple_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_float_types_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_float_types_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_int_types_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_int_types_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_bool_types_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_bool_types_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_basic_types_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_basic_types_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_complex_types_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arg_complex_types_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arguments_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#user_func_arguments_fragment
-dEQP-GLES3.functional.shaders.functions.overloading#array_size_vertex
-dEQP-GLES3.functional.shaders.functions.overloading#array_size_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_float_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_float_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_float_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_float_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_int_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_int_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_int_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_int_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_bool_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#local_in_bool_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_bool_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#global_in_bool_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#test_helpers_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#test_helpers_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_local_in_on_call_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_local_in_on_call_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_global_in_on_call_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_global_in_on_call_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_local_inout_on_call_vertex
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_local_inout_on_call_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#simple_return_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#simple_return_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_if_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_if_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_else_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_else_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_loop_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_loop_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_loop_if_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_loop_if_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_loop_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_loop_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_break_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_break_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_continue_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_continue_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_nested_loop_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_in_nested_loop_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_loop_sequence_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#return_after_loop_sequence_fragment
-dEQP-GLES3.functional.shaders.functions.control_flow#mixed_return_break_continue_vertex
-dEQP-GLES3.functional.shaders.functions.control_flow#mixed_return_break_continue_fragment
-dEQP-GLES3.functional.shaders.functions.misc#multi_arg_float_vertex
-dEQP-GLES3.functional.shaders.functions.misc#multi_arg_float_fragment
-dEQP-GLES3.functional.shaders.functions.misc#multi_arg_int_vertex
-dEQP-GLES3.functional.shaders.functions.misc#multi_arg_int_fragment
-dEQP-GLES3.functional.shaders.functions.misc#argument_eval_order_1_vertex
-dEQP-GLES3.functional.shaders.functions.misc#argument_eval_order_1_fragment
-dEQP-GLES3.functional.shaders.functions.misc#argument_eval_order_2_vertex
-dEQP-GLES3.functional.shaders.functions.misc#argument_eval_order_2_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#break_in_body_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#break_in_body_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#continue_in_body_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#continue_in_body_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#return_value_from_void_function_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#return_value_from_void_function_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#extra_arguments_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#extra_arguments_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#missing_arguments_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#missing_arguments_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#missing_argument_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#missing_argument_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_basetype_mismatch_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_basetype_mismatch_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_scalar_vector_mismatch_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_scalar_vector_mismatch_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_vector_size_mismatch_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_vector_size_mismatch_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#duplicate_function_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#duplicate_function_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_unspecified_array_size_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_unspecified_array_size_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#call_mismatch_argument_array_size_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#call_mismatch_argument_array_size_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_argument_const_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_argument_const_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_argument_array_const_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_argument_array_const_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_array_inout_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#prototype_mismatch_array_inout_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#missing_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#missing_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#call_before_definition_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#call_before_definition_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_precision_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_precision_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_in_out_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_in_out_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_in_inout_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_in_inout_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#argument_out_inout_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#argument_out_inout_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_precision_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_precision_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_const_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#return_type_const_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#return_without_value_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#return_without_value_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#local_function_definition_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#local_function_definition_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#name_type_conflict_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#name_type_conflict_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#const_overload_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#const_overload_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_local_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_local_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#in_local_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#in_local_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#out_local_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#out_local_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#inout_local_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#inout_local_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_argument_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_argument_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#in_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#in_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#out_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#out_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#inout_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#inout_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#main_invalid_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#main_invalid_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#main_has_arguments_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#main_has_arguments_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#main_missing_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#main_missing_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#write_const_arg_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#write_const_arg_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#write_const_array_arg_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#write_const_array_arg_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#basic_recursion_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#basic_recursion_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#simple_tail_recursion_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#simple_tail_recursion_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_conditional_recursion_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_conditional_recursion_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_loop_recursion_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_loop_recursion_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_switch_recursion_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#dynamic_switch_recursion_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#modify_const_arg_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#modify_const_arg_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#float3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#float3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#float4_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#float4_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#int3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#int3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#int4_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#int4_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#bool3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#bool3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#bool4_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#bool4_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#struct3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#struct3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#struct4_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#struct4_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#float_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#float_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#int_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#int_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.constructor#bool_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.constructor#bool_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#float_vertex
-dEQP-GLES3.functional.shaders.arrays.return#float_fragment
-dEQP-GLES3.functional.shaders.arrays.return#int_vertex
-dEQP-GLES3.functional.shaders.arrays.return#int_fragment
-dEQP-GLES3.functional.shaders.arrays.return#bool_vertex
-dEQP-GLES3.functional.shaders.arrays.return#bool_fragment
-dEQP-GLES3.functional.shaders.arrays.return#float_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#float_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#int_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#int_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#bool_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#bool_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#float_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#float_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#int_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#int_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.return#bool_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.return#bool_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#float_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#int_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_mat3_vertex
-dEQP-GLES3.functional.shaders.arrays.unnamed_parameter#bool_mat3_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_float_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_float_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_int_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_int_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_bool_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_bool_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_struct_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_struct_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_float_vec3_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_float_vec3_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_bool_bvec3_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#implicit_size_bool_bvec3_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#constant_expression_array_size_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#constant_expression_array_size_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#constant_expression_array_access_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#constant_expression_array_access_fragment
-dEQP-GLES3.functional.shaders.arrays.length#float_vertex
-dEQP-GLES3.functional.shaders.arrays.length#float_fragment
-dEQP-GLES3.functional.shaders.arrays.length#int_vertex
-dEQP-GLES3.functional.shaders.arrays.length#int_fragment
-dEQP-GLES3.functional.shaders.arrays.length#bool_vertex
-dEQP-GLES3.functional.shaders.arrays.length#bool_fragment
-dEQP-GLES3.functional.shaders.arrays.length#struct_vertex
-dEQP-GLES3.functional.shaders.arrays.length#struct_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array1_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array1_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array2_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array2_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_uniform_array_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_uniform_array_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array_in_uniform_block_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#multidimensional_array_in_uniform_block_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#dynamic_expression_array_size_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#dynamic_expression_array_size_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#constructor_c_style1_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#constructor_c_style1_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#constructor_c_style2_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#constructor_c_style2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#const_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#const_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#uniform_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#uniform_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#layout_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#layout_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#centroid_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#centroid_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#flat_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#flat_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#smooth_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#smooth_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#break_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#break_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#continue_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#continue_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#do_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#do_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#for_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#for_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#while_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#while_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#switch_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#switch_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#case_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#case_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#default_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#default_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#if_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#if_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#else_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#else_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#in_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#in_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#out_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#out_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#inout_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#inout_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#float_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#float_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#int_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#int_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#void_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#void_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#bool_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#bool_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#true_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#true_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#false_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#false_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#invariant_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#invariant_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#discard_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#discard_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#return_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#return_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat2x4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat3x4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mat4x4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#vec2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#vec2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#vec3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#vec3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#vec4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#ivec4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#bvec4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#uint_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#uint_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec2_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec2_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec3_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec3_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec4_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#uvec4_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#lowp_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#lowp_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#mediump_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#mediump_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#highp_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#highp_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#precision_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#precision_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler3D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler3D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#samplerCube_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#samplerCube_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#samplerCubeShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#samplerCubeShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DArrayShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#sampler2DArrayShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler2D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler2D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler3D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler3D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#isamplerCube_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#isamplerCube_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#isampler2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler2D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler2D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler3D_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler3D_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#usamplerCube_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#usamplerCube_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#usampler2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.keywords#struct_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#struct_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#attribute_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#attribute_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#varying_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#varying_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#noperspective_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#noperspective_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#asm_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#asm_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#class_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#class_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#union_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#union_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#enum_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#enum_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#typedef_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#typedef_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#template_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#template_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#this_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#this_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#goto_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#goto_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#inline_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#inline_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#noinline_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#noinline_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#volatile_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#volatile_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#public_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#public_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#static_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#static_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#extern_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#extern_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#external_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#external_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#interface_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#interface_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#long_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#long_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#short_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#short_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#half_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#half_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fixed_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fixed_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#unsigned_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#unsigned_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#superp_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#superp_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#input_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#input_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#output_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#output_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec2_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec2_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec3_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec3_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec4_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#hvec4_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec2_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec2_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec3_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec3_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec4_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#dvec4_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec2_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec2_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec3_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec3_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec4_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#fvec4_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler3DRect_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler3DRect_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DArrayShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler1DArrayShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DRect_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DRect_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DRectShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DRectShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DRect_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DRect_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DRect_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DRect_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DMS_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DMS_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DMS_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DMS_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DMS_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DMS_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DMSArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sampler2DMSArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DMSArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isampler2DMSArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DMSArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usampler2DMSArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sizeof_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sizeof_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#cast_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#cast_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#namespace_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#namespace_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#using_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#using_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#gl_begin_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#gl_begin_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#digit_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#digit_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#digit_begin_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#digit_begin_fragment
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#interp_storage_precision
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#storage_precision
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#interp_storage
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_parameter_precision_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_parameter_precision_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_parameter_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_parameter_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_precision_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#storage_precision_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#parameter_precision_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.valid#parameter_precision_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#storage_precision_parameter_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#storage_precision_parameter_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_storage_precision_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_storage_precision_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_precision_storage_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_precision_storage_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_storage_parameter_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_storage_parameter_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_parameter_storage_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_parameter_storage_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_storage_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#parameter_storage_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_storage_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_storage_fragment
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_parameter_vertex
-dEQP-GLES3.functional.shaders.qualification_order.parameters.invalid#precision_parameter_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_hides_global_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_hides_global_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#block_variable_hides_local_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#block_variable_hides_local_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#block_variable_hides_global_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#block_variable_hides_global_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#variable_from_outer_scope_visible_in_initializer_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#variable_from_outer_scope_visible_in_initializer_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#local_int_variable_hides_struct_type_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#local_int_variable_hides_struct_type_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#local_struct_variable_hides_struct_type_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#local_struct_variable_hides_struct_type_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_hides_function_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_hides_function_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_global_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_global_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_struct_type_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_struct_type_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_function_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#function_parameter_hides_function_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_in_inner_scope_hides_function_parameter_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#local_variable_in_inner_scope_hides_function_parameter_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#redeclare_function_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#redeclare_function_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_global_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_global_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_local_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_local_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_condition_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_condition_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_init_statement_variable_in_for_condition_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_init_statement_variable_in_for_condition_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_while_condition_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_while_condition_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redefine_function_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redefine_function_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_builtin_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_builtin_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#conflict_function_struct_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#conflict_function_struct_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#conflict_function_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#conflict_function_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_global_variable_before_declaration_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_global_variable_before_declaration_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_local_variable_before_declaration_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_local_variable_before_declaration_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_struct_type_before_declaration_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_struct_type_before_declaration_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_function_before_declaration_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_function_before_declaration_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_block_in_outer_scope_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_block_in_outer_scope_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_for_init_statement_in_outer_scope_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_for_init_statement_in_outer_scope_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_parameter_names_from_function_declaration_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_parameter_names_from_function_declaration_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#variable_not_visible_in_own_initializer_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#variable_not_visible_in_own_initializer_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#local_variable_hides_function_parameter_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#local_variable_hides_function_parameter_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#float_0_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#float_0_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#float_1_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#float_1_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#float_2_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#float_2_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#int_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#int_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#uint_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#uint_fragment
-dEQP-GLES3.functional.shaders.negative.c_cast#bool_vertex
-dEQP-GLES3.functional.shaders.negative.c_cast#bool_fragment
-dEQP-GLES3.functional.shaders.discard#basic_always
-dEQP-GLES3.functional.shaders.discard#basic_never
-dEQP-GLES3.functional.shaders.discard#basic_uniform
-dEQP-GLES3.functional.shaders.discard#basic_dynamic
-dEQP-GLES3.functional.shaders.discard#basic_texture
-dEQP-GLES3.functional.shaders.discard#function_always
-dEQP-GLES3.functional.shaders.discard#function_never
-dEQP-GLES3.functional.shaders.discard#function_uniform
-dEQP-GLES3.functional.shaders.discard#function_dynamic
-dEQP-GLES3.functional.shaders.discard#function_texture
-dEQP-GLES3.functional.shaders.discard#static_loop_always
-dEQP-GLES3.functional.shaders.discard#static_loop_never
-dEQP-GLES3.functional.shaders.discard#static_loop_uniform
-dEQP-GLES3.functional.shaders.discard#static_loop_dynamic
-dEQP-GLES3.functional.shaders.discard#static_loop_texture
-dEQP-GLES3.functional.shaders.discard#dynamic_loop_always
-dEQP-GLES3.functional.shaders.discard#dynamic_loop_never
-dEQP-GLES3.functional.shaders.discard#dynamic_loop_uniform
-dEQP-GLES3.functional.shaders.discard#dynamic_loop_dynamic
-dEQP-GLES3.functional.shaders.discard#dynamic_loop_texture
-dEQP-GLES3.functional.shaders.discard#function_static_loop_always
-dEQP-GLES3.functional.shaders.discard#function_static_loop_never
-dEQP-GLES3.functional.shaders.discard#function_static_loop_uniform
-dEQP-GLES3.functional.shaders.discard#function_static_loop_dynamic
-dEQP-GLES3.functional.shaders.discard#function_static_loop_texture
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_static_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#float_dynamic_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_static_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec2_dynamic_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_static_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec3_dynamic_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_static_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_loop_write_static_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_loop_write_dynamic_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_loop_write_static_loop_read
-dEQP-GLES3.functional.shaders.indexing.varying_array#vec4_dynamic_loop_write_dynamic_loop_read
-dEQP-GLES3.functional.shaders.indexing.uniform_array#float_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#float_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.uniform_array#float_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#float_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#float_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec2_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec2_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec2_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec2_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec2_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec3_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec3_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec3_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec3_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec3_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec4_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec4_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec4_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec4_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.uniform_array#vec4_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#float_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec2_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec3_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.tmp_array#vec4_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_direct_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_component_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_static_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_direct_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_component_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_static_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_direct_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_component_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_static_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_direct_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_direct_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_component_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_component_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_static_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_static_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_dynamic_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_dynamic_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_static_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_static_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex
-dEQP-GLES3.functional.shaders.indexing.vector_subscript#vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x3_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat2x4_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x2_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat3x4_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x2_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4x3_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_static_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_static_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_static_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_dynamic_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_dynamic_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_static_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_static_loop_read_fragment
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_dynamic_loop_read_vertex
-dEQP-GLES3.functional.shaders.indexing.matrix_subscript#mat4_dynamic_loop_write_dynamic_loop_read_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.for_constant_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.for_uniform_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.for_dynamic_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.while_constant_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.while_uniform_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#no_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#no_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.while_dynamic_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_constant_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_uniform_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_lowp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_lowp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_lowp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_lowp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_mediump_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_mediump_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_mediump_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_mediump_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_highp_int_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_highp_int_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_highp_float_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#basic_highp_float_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#empty_body_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#empty_body_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_unconditional_break_first_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_unconditional_break_first_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_unconditional_break_last_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_unconditional_break_last_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#infinite_with_conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#single_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#single_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#compound_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#compound_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#sequence_statement_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#sequence_statement_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#single_iteration_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#single_iteration_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#select_iteration_count_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#select_iteration_count_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#conditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#conditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#unconditional_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#unconditional_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#only_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#only_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#double_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#double_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#conditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#conditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#unconditional_break_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#unconditional_break_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#pre_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#pre_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#post_increment_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#post_increment_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#mixed_break_continue_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#mixed_break_continue_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#vector_counter_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#vector_counter_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#101_iterations_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#101_iterations_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_sequence_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_sequence_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_tricky_dataflow_1_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_tricky_dataflow_1_fragment
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_tricky_dataflow_2_vertex
-dEQP-GLES3.functional.shaders.loops.do_while_dynamic_iterations#nested_tricky_dataflow_2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.plus#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.minus#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.not#bool_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.not#bool_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.bitwise_not#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_increment_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_increment_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#lowp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#mediump_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add#highp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#lowp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#mediump_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub#highp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#lowp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#mediump_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul#highp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#lowp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#mediump_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div#highp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_int_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#lowp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#mediump_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod#highp_uint_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_effect#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_effect#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.add_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.sub_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mul_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.div_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.mod_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_and_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_or_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.bitwise_xor_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.left_shift_assign_result#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_int_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_int_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uint_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uint_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#lowp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#mediump_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.right_shift_assign_result#highp_uvec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.less_or_equal#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.greater_or_equal#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bool_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bool_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.equal#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bool_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bool_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.not_equal#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_and#bool_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_and#bool_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_or#bool_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_or#bool_fragment
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_xor#bool_vertex
-dEQP-GLES3.functional.shaders.operator.binary_operator.logical_xor#bool_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.radians#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.degrees#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sin#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cos#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tan#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asin#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acos#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atan2#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.sinh#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.cosh#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.tanh#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.asinh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.acosh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.angle_and_trigonometry.atanh#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.pow#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.exp2#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.log2#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.sqrt#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.exponential.inversesqrt#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.abs#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.sign#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.floor#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.trunc#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.round#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.roundEven#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.ceil#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.fract#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mod#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.min#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.max#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#lowp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#mediump_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.clamp#highp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#lowp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.mix#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.step#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#lowp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#mediump_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.common_functions.smoothstep#highp_float_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.length#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.distance#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.dot#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.cross#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.cross#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.cross#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.cross#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.normalize#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.faceforward#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.reflect#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#mediump_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.operator.geometric.refract#highp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThan#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.lessThanEqual#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThan#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.greaterThanEqual#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.equal#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.float_compare.notEqual#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThan#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.lessThanEqual#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThan#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.greaterThanEqual#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.equal#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.int_compare.notEqual#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.equal#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.notEqual#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.any#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.all#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.bool_compare.not#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_float_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_float_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_float_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_float_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_float_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_float_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_int_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_int_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_int_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_int_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_int_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_int_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_ivec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.selection#bool_vertex
-dEQP-GLES3.functional.shaders.operator.selection#bool_fragment
-dEQP-GLES3.functional.shaders.operator.selection#bvec2_vertex
-dEQP-GLES3.functional.shaders.operator.selection#bvec2_fragment
-dEQP-GLES3.functional.shaders.operator.selection#bvec3_vertex
-dEQP-GLES3.functional.shaders.operator.selection#bvec3_fragment
-dEQP-GLES3.functional.shaders.operator.selection#bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.selection#bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#lowp_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#mediump_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.no_side_effects#highp_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_vec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_vec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_float_uint_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_float_uint_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_bool_vec2_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_bool_vec2_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#lowp_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#mediump_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_vec4_ivec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.operator.sequence.side_effects#highp_vec4_ivec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.const#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.uniform#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.add.dynamic#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.const#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.uniform#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.sub.dynamic#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x3_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x3_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x3_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat2x4_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat2x4_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat2x4_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat3x4_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat3x4_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat3x4_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.const#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x3_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x2_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.uniform#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x3_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_vec2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_vec2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat2x4_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x2_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_vec3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_vec3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat3x4_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x2_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4x3_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_vec4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_vec4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_vec4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.mul.dynamic#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.const#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.uniform#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.div.dynamic#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2_mat2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2_mat2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2x3_mat2x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2x3_mat2x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2x4_mat2x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat2x4_mat2x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3x2_mat3x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3x2_mat3x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3_mat3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3_mat3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3x4_mat3x4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat3x4_mat3x4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4x2_mat4x2_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4x2_mat4x2_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4x3_mat4x3_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4x3_mat4x3_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#lowp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#mediump_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4_mat4_vertex
-dEQP-GLES3.functional.shaders.matrix.matrixcompmult.dynamic#highp_mat4_mat4_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.outerproduct.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.transpose.dynamic#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.determinant.dynamic#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.inverse.dynamic#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.unary_addition#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.negation#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.post_increment#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.post_increment#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.post_increment#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.post_increment#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.post_increment#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.post_increment#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.add_assign#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.sub_assign#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.mul_assign#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat2x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3x4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat3x4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4x2_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4x2_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4x3_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4x3_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#lowp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#mediump_mat4_float_fragment
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4_float_vertex
-dEQP-GLES3.functional.shaders.matrix.div_assign#highp_mat4_float_fragment
-dEQP-GLES3.functional.shaders.return#single_return_vertex
-dEQP-GLES3.functional.shaders.return#single_return_fragment
-dEQP-GLES3.functional.shaders.return#conditional_return_never_vertex
-dEQP-GLES3.functional.shaders.return#conditional_return_never_fragment
-dEQP-GLES3.functional.shaders.return#conditional_return_dynamic_vertex
-dEQP-GLES3.functional.shaders.return#conditional_return_dynamic_fragment
-dEQP-GLES3.functional.shaders.return#double_return_vertex
-dEQP-GLES3.functional.shaders.return#double_return_fragment
-dEQP-GLES3.functional.shaders.return#last_statement_in_main_vertex
-dEQP-GLES3.functional.shaders.return#last_statement_in_main_fragment
-dEQP-GLES3.functional.shaders.return#output_write_always_vertex
-dEQP-GLES3.functional.shaders.return#output_write_always_fragment
-dEQP-GLES3.functional.shaders.return#output_write_never_vertex
-dEQP-GLES3.functional.shaders.return#output_write_never_fragment
-dEQP-GLES3.functional.shaders.return#output_write_dynamic_vertex
-dEQP-GLES3.functional.shaders.return#output_write_dynamic_fragment
-dEQP-GLES3.functional.shaders.return#output_write_in_func_never_vertex
-dEQP-GLES3.functional.shaders.return#output_write_in_func_never_fragment
-dEQP-GLES3.functional.shaders.return#output_write_in_func_dynamic_vertex
-dEQP-GLES3.functional.shaders.return#output_write_in_func_dynamic_fragment
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_always_vertex
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_always_fragment
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_never_vertex
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_never_fragment
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_dynamic_vertex
-dEQP-GLES3.functional.shaders.return#return_in_static_loop_dynamic_fragment
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_always_vertex
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_always_fragment
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_never_vertex
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_never_fragment
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_dynamic_vertex
-dEQP-GLES3.functional.shaders.return#return_in_dynamic_loop_dynamic_fragment
-dEQP-GLES3.functional.shaders.return#return_in_infinite_loop_vertex
-dEQP-GLES3.functional.shaders.return#return_in_infinite_loop_fragment
-dEQP-GLES3.functional.shaders.struct.local#basic_vertex
-dEQP-GLES3.functional.shaders.struct.local#basic_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_fragment
-dEQP-GLES3.functional.shaders.struct.local#array_member_vertex
-dEQP-GLES3.functional.shaders.struct.local#array_member_fragment
-dEQP-GLES3.functional.shaders.struct.local#parameter_vertex
-dEQP-GLES3.functional.shaders.struct.local#parameter_fragment
-dEQP-GLES3.functional.shaders.struct.local#parameter_nested_vertex
-dEQP-GLES3.functional.shaders.struct.local#parameter_nested_fragment
-dEQP-GLES3.functional.shaders.struct.local#return_vertex
-dEQP-GLES3.functional.shaders.struct.local#return_fragment
-dEQP-GLES3.functional.shaders.struct.local#return_nested_vertex
-dEQP-GLES3.functional.shaders.struct.local#return_nested_fragment
-dEQP-GLES3.functional.shaders.struct.local#conditional_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#conditional_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.local#loop_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#loop_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.local#dynamic_loop_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#dynamic_loop_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_conditional_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_conditional_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_loop_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_loop_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_dynamic_loop_assignment_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_dynamic_loop_assignment_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#basic_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#basic_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#nested_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#nested_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#array_member_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#array_member_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#array_member_dynamic_index_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#struct_array_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#struct_array_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#sampler_vertex
-dEQP-GLES3.functional.shaders.struct.uniform#sampler_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#equal_fragment
-dEQP-GLES3.functional.shaders.struct.uniform#not_equal_fragment
-dEQP-GLES3.functional.shaders.switch#basic_static_vertex
-dEQP-GLES3.functional.shaders.switch#basic_static_fragment
-dEQP-GLES3.functional.shaders.switch#basic_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#basic_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#basic_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#basic_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_static_vertex
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_static_fragment
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#const_expr_in_label_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#default_label_static_vertex
-dEQP-GLES3.functional.shaders.switch#default_label_static_fragment
-dEQP-GLES3.functional.shaders.switch#default_label_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#default_label_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#default_label_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#default_label_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#default_not_last_static_vertex
-dEQP-GLES3.functional.shaders.switch#default_not_last_static_fragment
-dEQP-GLES3.functional.shaders.switch#default_not_last_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#default_not_last_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#default_not_last_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#default_not_last_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#no_default_label_static_vertex
-dEQP-GLES3.functional.shaders.switch#no_default_label_static_fragment
-dEQP-GLES3.functional.shaders.switch#no_default_label_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#no_default_label_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#no_default_label_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#no_default_label_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_static_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_static_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_default_static_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_default_static_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_default_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_default_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#fall_through_default_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#fall_through_default_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_static_vertex
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_static_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_2_static_vertex
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_2_static_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_2_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_2_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#conditional_fall_through_2_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#scope_static_vertex
-dEQP-GLES3.functional.shaders.switch#scope_static_fragment
-dEQP-GLES3.functional.shaders.switch#scope_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#scope_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#scope_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#scope_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_if_static_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_if_static_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_if_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_if_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_if_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_if_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_static_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_static_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_for_loop_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_static_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_static_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_while_loop_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_static_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_static_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_do_while_loop_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#if_in_switch_static_vertex
-dEQP-GLES3.functional.shaders.switch#if_in_switch_static_fragment
-dEQP-GLES3.functional.shaders.switch#if_in_switch_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#if_in_switch_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#if_in_switch_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#if_in_switch_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_static_vertex
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_static_fragment
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#for_loop_in_switch_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_static_vertex
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_static_fragment
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_uniform_fragment
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#while_loop_in_switch_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#do_while_loop_in_switch_static_vertex
-dEQP-GLES3.functional.shaders.switch#do_while_loop_in_switch_static_fragment
-dEQP-GLES3.functional.shaders.switch#do_while_loop_in_switch_uniform_vertex
-dEQP-GLES3.functional.shaders.switch#do_while_loop_in_switch_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#do_while_loop_in_switch_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_switch_static_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_switch_static_fragment
-dEQP-GLES3.functional.shaders.switch#switch_in_switch_dynamic_vertex
-dEQP-GLES3.functional.shaders.switch#switch_in_switch_dynamic_fragment
-dEQP-GLES3.functional.shaders.switch#empty_condition_vertex
-dEQP-GLES3.functional.shaders.switch#empty_condition_fragment
-dEQP-GLES3.functional.shaders.switch#condition_float_vertex
-dEQP-GLES3.functional.shaders.switch#condition_float_fragment
-dEQP-GLES3.functional.shaders.switch#condition_bool_vertex
-dEQP-GLES3.functional.shaders.switch#condition_bool_fragment
-dEQP-GLES3.functional.shaders.switch#condition_ivec2_vertex
-dEQP-GLES3.functional.shaders.switch#condition_ivec2_fragment
-dEQP-GLES3.functional.shaders.switch#condition_struct_vertex
-dEQP-GLES3.functional.shaders.switch#condition_struct_fragment
-dEQP-GLES3.functional.shaders.switch#duplicate_label_vertex
-dEQP-GLES3.functional.shaders.switch#duplicate_label_fragment
-dEQP-GLES3.functional.shaders.switch#float_label_vertex
-dEQP-GLES3.functional.shaders.switch#float_label_fragment
-dEQP-GLES3.functional.shaders.switch#non_const_int_label_vertex
-dEQP-GLES3.functional.shaders.switch#non_const_int_label_fragment
-dEQP-GLES3.functional.shaders.switch#statement_before_label_vertex
-dEQP-GLES3.functional.shaders.switch#statement_before_label_fragment
-dEQP-GLES3.functional.shaders.switch#statement_before_default_label_vertex
-dEQP-GLES3.functional.shaders.switch#statement_before_default_label_fragment
-dEQP-GLES3.functional.shaders.switch#no_statement_after_label_vertex
-dEQP-GLES3.functional.shaders.switch#no_statement_after_label_fragment
-dEQP-GLES3.functional.shaders.switch#no_statement_after_default_label_vertex
-dEQP-GLES3.functional.shaders.switch#no_statement_after_default_label_fragment
-dEQP-GLES3.functional.shaders.switch#case_in_if_vertex
-dEQP-GLES3.functional.shaders.switch#case_in_if_fragment
-dEQP-GLES3.functional.shaders.switch#default_in_if_vertex
-dEQP-GLES3.functional.shaders.switch#default_in_if_fragment
-dEQP-GLES3.functional.shaders.switch#case_in_for_loop_vertex
-dEQP-GLES3.functional.shaders.switch#case_in_for_loop_fragment
-dEQP-GLES3.functional.shaders.switch#default_in_for_loop_vertex
-dEQP-GLES3.functional.shaders.switch#default_in_for_loop_fragment
-dEQP-GLES3.functional.shaders.switch#case_in_while_loop_vertex
-dEQP-GLES3.functional.shaders.switch#case_in_while_loop_fragment
-dEQP-GLES3.functional.shaders.switch#default_in_while_loop_vertex
-dEQP-GLES3.functional.shaders.switch#default_in_while_loop_fragment
-dEQP-GLES3.functional.shaders.switch#case_in_do_while_loop_vertex
-dEQP-GLES3.functional.shaders.switch#case_in_do_while_loop_fragment
-dEQP-GLES3.functional.shaders.switch#default_in_do_while_loop_vertex
-dEQP-GLES3.functional.shaders.switch#default_in_do_while_loop_fragment
-dEQP-GLES3.functional.shaders.switch#missing_colon_vertex
-dEQP-GLES3.functional.shaders.switch#missing_colon_fragment
-dEQP-GLES3.functional.shaders.switch#missing_opening_brace_vertex
-dEQP-GLES3.functional.shaders.switch#missing_opening_brace_fragment
-dEQP-GLES3.functional.shaders.switch#missing_closing_brace_vertex
-dEQP-GLES3.functional.shaders.switch#missing_closing_brace_fragment
-dEQP-GLES3.functional.shaders.switch#double_case_vertex
-dEQP-GLES3.functional.shaders.switch#double_case_fragment
-dEQP-GLES3.functional.shaders.switch#double_default_1_vertex
-dEQP-GLES3.functional.shaders.switch#double_default_1_fragment
-dEQP-GLES3.functional.shaders.switch#double_default_2_vertex
-dEQP-GLES3.functional.shaders.switch#double_default_2_fragment
-dEQP-GLES3.functional.shaders.fragdepth.write#no_write
-dEQP-GLES3.functional.shaders.fragdepth.compare#no_write
-dEQP-GLES3.functional.shaders.fragdepth.compare#const
-dEQP-GLES3.functional.shaders.fragdepth.compare#uniform
-dEQP-GLES3.functional.shaders.fragdepth.compare#dynamic
-dEQP-GLES3.functional.shaders.fragdepth.compare#fragcoord_z
-dEQP-GLES3.functional.shaders.fragdepth.compare#uniform_conditional_write
-dEQP-GLES3.functional.shaders.fragdepth.compare#dynamic_conditional_write
-dEQP-GLES3.functional.shaders.fragdepth.compare#uniform_loop_write
-dEQP-GLES3.functional.shaders.fragdepth.compare#write_in_function
-dEQP-GLES3.functional.shaders.precision.float#highp_add_vertex
-dEQP-GLES3.functional.shaders.precision.float#highp_add_fragment
-dEQP-GLES3.functional.shaders.precision.float#highp_sub_vertex
-dEQP-GLES3.functional.shaders.precision.float#highp_sub_fragment
-dEQP-GLES3.functional.shaders.precision.float#highp_mul_vertex
-dEQP-GLES3.functional.shaders.precision.float#highp_mul_fragment
-dEQP-GLES3.functional.shaders.precision.float#highp_div_vertex
-dEQP-GLES3.functional.shaders.precision.float#highp_div_fragment
-dEQP-GLES3.functional.shaders.precision.float#mediump_add_vertex
-dEQP-GLES3.functional.shaders.precision.float#mediump_add_fragment
-dEQP-GLES3.functional.shaders.precision.float#mediump_sub_vertex
-dEQP-GLES3.functional.shaders.precision.float#mediump_sub_fragment
-dEQP-GLES3.functional.shaders.precision.float#mediump_mul_vertex
-dEQP-GLES3.functional.shaders.precision.float#mediump_mul_fragment
-dEQP-GLES3.functional.shaders.precision.float#mediump_div_vertex
-dEQP-GLES3.functional.shaders.precision.float#mediump_div_fragment
-dEQP-GLES3.functional.shaders.precision.int#highp_add_fragment
-dEQP-GLES3.functional.shaders.precision.int#highp_sub_fragment
-dEQP-GLES3.functional.shaders.precision.int#highp_mul_fragment
-dEQP-GLES3.functional.shaders.precision.int#highp_div_fragment
-dEQP-GLES3.functional.shaders.precision.int#mediump_add_vertex
-dEQP-GLES3.functional.shaders.precision.int#mediump_add_fragment
-dEQP-GLES3.functional.shaders.precision.int#mediump_sub_vertex
-dEQP-GLES3.functional.shaders.precision.int#mediump_sub_fragment
-dEQP-GLES3.functional.shaders.precision.int#mediump_mul_vertex
-dEQP-GLES3.functional.shaders.precision.int#mediump_mul_fragment
-dEQP-GLES3.functional.shaders.precision.int#mediump_div_vertex
-dEQP-GLES3.functional.shaders.precision.int#mediump_div_fragment
-dEQP-GLES3.functional.shaders.precision.int#lowp_add_vertex
-dEQP-GLES3.functional.shaders.precision.int#lowp_add_fragment
-dEQP-GLES3.functional.shaders.precision.int#lowp_sub_vertex
-dEQP-GLES3.functional.shaders.precision.int#lowp_sub_fragment
-dEQP-GLES3.functional.shaders.precision.int#lowp_mul_vertex
-dEQP-GLES3.functional.shaders.precision.int#lowp_mul_fragment
-dEQP-GLES3.functional.shaders.precision.int#lowp_div_vertex
-dEQP-GLES3.functional.shaders.precision.int#lowp_div_fragment
-dEQP-GLES3.functional.shaders.precision.uint#highp_add_fragment
-dEQP-GLES3.functional.shaders.precision.uint#highp_sub_fragment
-dEQP-GLES3.functional.shaders.precision.uint#highp_mul_fragment
-dEQP-GLES3.functional.shaders.precision.uint#highp_div_fragment
-dEQP-GLES3.functional.shaders.precision.uint#mediump_add_vertex
-dEQP-GLES3.functional.shaders.precision.uint#mediump_add_fragment
-dEQP-GLES3.functional.shaders.precision.uint#mediump_sub_vertex
-dEQP-GLES3.functional.shaders.precision.uint#mediump_sub_fragment
-dEQP-GLES3.functional.shaders.precision.uint#mediump_mul_vertex
-dEQP-GLES3.functional.shaders.precision.uint#mediump_mul_fragment
-dEQP-GLES3.functional.shaders.precision.uint#mediump_div_vertex
-dEQP-GLES3.functional.shaders.precision.uint#mediump_div_fragment
-dEQP-GLES3.functional.shaders.precision.uint#lowp_add_vertex
-dEQP-GLES3.functional.shaders.precision.uint#lowp_add_fragment
-dEQP-GLES3.functional.shaders.precision.uint#lowp_sub_vertex
-dEQP-GLES3.functional.shaders.precision.uint#lowp_sub_fragment
-dEQP-GLES3.functional.shaders.precision.uint#lowp_mul_vertex
-dEQP-GLES3.functional.shaders.precision.uint#lowp_mul_fragment
-dEQP-GLES3.functional.shaders.precision.uint#lowp_div_vertex
-dEQP-GLES3.functional.shaders.precision.uint#lowp_div_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_attribs_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_attribs_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_uniform_vectors_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_uniform_vectors_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_fragment_uniform_vectors_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_fragment_uniform_vectors_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_texture_image_units_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_texture_image_units_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_draw_buffers_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_draw_buffers_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#depth_range_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#depth_range_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#vertex_id
-dEQP-GLES3.functional.shaders.builtin_variable#fragcoord_xyz
-dEQP-GLES3.functional.shaders.builtin_variable#pointcoord
-dEQP-GLES3.functional.shaders.builtin_variable#frontfacing
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2d_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isamplercube_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#isamplercube_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usamplercube_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#usamplercube_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercube_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isamplercube_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usamplercube_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darray_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler2darray_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler2darray_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler3d_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#isampler3d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#usampler3d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2dshadow_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercubeshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercubeshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#samplercubeshadow_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darrayshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec3_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec3_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec3_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2d_vec4_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler2d_vec4_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler2d_vec4_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_bias_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler3d_bias_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#isampler3d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#usampler3d_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureproj#sampler2dshadow_bias_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#isamplercube_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#isamplercube_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#usamplercube_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#usamplercube_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2darray_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2darray_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2darray_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2darray_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec3_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec3_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec3_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec3_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec4_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec4_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2d_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojlod#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercube_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercube_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercube_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercube_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darray_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darray_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darray_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darray_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darrayshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#sampler2darrayshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec3_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec3_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec3_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec3_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec4_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec4_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2d_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2dshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureprojgrad#sampler2dshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#sampler2d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#sampler2d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#sampler2d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#sampler2d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#isampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#isampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#usampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetch#usampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texture_sampler3dshadow_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texture_sampler3dshadow_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_samplercube_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_samplercube_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_isamplercube_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_isamplercube_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_usamplercube_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_usamplercube_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_samplercube_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_samplercube_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_isamplercube_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_isamplercube_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_usamplercube_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_usamplercube_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_sampler2darrayshadow_vec4_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_sampler2darrayshadow_vec4_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_sampler2darrayshadow_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureproj_sampler2darrayshadow_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelod_samplercubeshadow_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelod_samplercubeshadow_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelod_sampler2darrayshadow_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelod_sampler2darrayshadow_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_isamplercube_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_isamplercube_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_usamplercube_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_usamplercube_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_isamplercube_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_isamplercube_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_usamplercube_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_usamplercube_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec2_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec2_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec3_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercube_vec3_ivec3_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darray_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darray_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darray_vec3_ivec3_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darray_vec3_ivec3_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercubeshadow_vec4_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercubeshadow_vec4_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercubeshadow_vec4_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_samplercubeshadow_vec4_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darrayshadow_vec4_ivec2_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darrayshadow_vec4_ivec2_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercube_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercube_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_isamplercube_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_isamplercube_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_usamplercube_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_usamplercube_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2dshadow_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2dshadow_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercubeshadow_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercubeshadow_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2darrayshadow_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2darrayshadow_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercube_ivec3_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercube_ivec3_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2dshadow_ivec2_int_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2dshadow_ivec2_int_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercubeshadow_ivec3_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_samplercubeshadow_ivec3_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2darrayshadow_ivec3_int_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texelfetch_sampler2darrayshadow_ivec3_int_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercube_vec4_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercube_vec4_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercube_vec4_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercube_vec4_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercubeshadow_vec4_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_samplercubeshadow_vec4_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_sampler2darrayshadow_vec4_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_sampler2darrayshadow_vec4_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_sampler2darrayshadow_vec4_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojoffset_sampler2darrayshadow_vec4_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercube_vec3_float_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercube_vec3_float_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercube_vec3_float_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercube_vec3_float_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercubeshadow_vec3_float_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_samplercubeshadow_vec3_float_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_samplercube_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_samplercube_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_sampler2darray_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_sampler2darray_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_sampler2darrayshadow_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojlod_sampler2darrayshadow_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegrad_sampler2darray_vec3_vec3_vec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegrad_sampler2darray_vec3_vec3_vec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgrad_samplercube_vec4_vec3_vec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgrad_samplercube_vec4_vec3_vec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgrad_sampler2darray_vec4_vec2_vec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgrad_sampler2darray_vec4_vec2_vec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_fragment
-dEQP-GLES3.functional.shaders.derivate.dfdx.constant#vec2
-dEQP-GLES3.functional.shaders.derivate.dfdx.constant#vec3
-dEQP-GLES3.functional.shaders.derivate.dfdx.constant#vec4
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#float_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.constant#float
-dEQP-GLES3.functional.shaders.derivate.dfdy.constant#vec2
-dEQP-GLES3.functional.shaders.derivate.dfdy.constant#vec3
-dEQP-GLES3.functional.shaders.derivate.dfdy.constant#vec4
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.constant#float
-dEQP-GLES3.functional.shaders.derivate.fwidth.constant#vec2
-dEQP-GLES3.functional.shaders.derivate.fwidth.constant#vec3
-dEQP-GLES3.functional.shaders.derivate.fwidth.constant#vec4
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#float_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec2_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec4_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec2_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec4_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec2_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec4_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#float_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec2_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec4_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#int_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#int_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.abs#ivec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#int_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.sign#ivec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floor#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.trunc#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.round#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.roundeven#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.ceil#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.fract#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packhalf2x16_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packhalf2x16_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.add.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sub.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mul.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.div.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.radians.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.degrees.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acos.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sinh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cosh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asinh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.pow.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.exp2.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log2.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sqrt.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inversesqrt.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.abs.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sign.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.floor.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.trunc.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.round.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.roundeven.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.fract.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mod.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.max.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.clamp.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.step.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.smoothstep.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.length.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.distance.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cross#highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.normalize.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.reflect.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.lowp_fragment#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.outerproduct.mediump_fragment#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_vertex#mat4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_fragment#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.highp_fragment#mat3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.determinant.lowp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.determinant.lowp_fragment#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.determinant.mediump_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inverse.lowp_vertex#mat2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.inverse.mediump_vertex#mat2
-dEQP-GLES3.functional.shaders.invariance.highp#common_subexpression_0
-dEQP-GLES3.functional.shaders.invariance.highp#subexpression_precision_lowp
-dEQP-GLES3.functional.shaders.invariance.highp#subexpression_precision_mediump
-dEQP-GLES3.functional.shaders.invariance.highp#subexpression_precision_highp
-dEQP-GLES3.functional.shaders.invariance.highp#loop_2
-dEQP-GLES3.functional.shaders.invariance.highp#loop_3
-dEQP-GLES3.functional.shaders.invariance.highp#loop_4
-dEQP-GLES3.functional.shaders.invariance.mediump#common_subexpression_0
-dEQP-GLES3.functional.shaders.invariance.mediump#subexpression_precision_lowp
-dEQP-GLES3.functional.shaders.invariance.mediump#subexpression_precision_mediump
-dEQP-GLES3.functional.shaders.invariance.mediump#subexpression_precision_highp
-dEQP-GLES3.functional.shaders.invariance.mediump#loop_2
-dEQP-GLES3.functional.shaders.invariance.mediump#loop_3
-dEQP-GLES3.functional.shaders.invariance.mediump#loop_4
-dEQP-GLES3.functional.shaders.invariance.lowp#common_subexpression_0
-dEQP-GLES3.functional.shaders.invariance.lowp#subexpression_precision_lowp
-dEQP-GLES3.functional.shaders.invariance.lowp#subexpression_precision_mediump
-dEQP-GLES3.functional.shaders.invariance.lowp#subexpression_precision_highp
-dEQP-GLES3.functional.shaders.invariance.lowp#loop_2
-dEQP-GLES3.functional.shaders.invariance.lowp#loop_3
-dEQP-GLES3.functional.shaders.invariance.lowp#loop_4
-dEQP-GLES3.functional.shaders.fragdata#valid_static_index
-dEQP-GLES3.functional.shaders.fragdata#valid_uniform_index
-dEQP-GLES3.functional.shaders.fragdata#valid_dynamic_index
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#bool_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#bool_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#cast_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.trivial#cast_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_vec_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_vec_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_ivec_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_ivec_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_mat_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#math_mat_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#bitwise_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#bitwise_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#logical_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#logical_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#compare_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#compare_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.operators#selection_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.operators#selection_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#struct_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#struct_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#nested_struct_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#nested_struct_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_size_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_size_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.other#switch_case_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.other#switch_case_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sin_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cos_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#pow_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#exp2_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#log2_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential#sqrt_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#sign_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floor_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#ceil_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#length_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#dot_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#normalize_vec4_fragment
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#0
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#1
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#2
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#3
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#4
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#5
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#6
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#7
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#8
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#9
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#10
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#11
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#12
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#13
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#14
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#15
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#16
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#17
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#18
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#19
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#20
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#21
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#22
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#23
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#24
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#25
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#26
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#27
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#28
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#29
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#30
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#31
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#32
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#33
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#34
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#35
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#36
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#37
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#38
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#39
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#40
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#41
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#42
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#43
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#44
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#45
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#46
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#47
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#48
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#49
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#50
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#51
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#52
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#53
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#54
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#55
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#56
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#57
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#58
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#59
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#60
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#61
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#62
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#63
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#64
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#65
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#66
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#67
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#68
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#69
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#70
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#71
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#72
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#73
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#74
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#75
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#76
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#77
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#78
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#79
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#80
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#81
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#82
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#83
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#84
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#85
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#86
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#87
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#88
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#89
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#90
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#91
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#92
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#93
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#94
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#95
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#96
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#97
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#98
-dEQP-GLES3.functional.shaders.random.basic_expression.vertex#99
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#0
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#1
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#2
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#3
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#4
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#5
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#6
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#7
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#8
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#9
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#10
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#11
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#12
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#13
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#14
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#15
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#16
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#17
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#18
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#19
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#20
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#21
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#22
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#23
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#24
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#25
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#26
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#27
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#28
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#29
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#30
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#31
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#32
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#33
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#34
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#35
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#36
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#37
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#38
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#39
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#40
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#41
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#42
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#43
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#44
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#45
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#46
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#47
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#48
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#49
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#50
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#51
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#52
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#53
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#54
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#55
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#56
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#57
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#58
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#59
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#60
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#61
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#62
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#63
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#64
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#65
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#66
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#67
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#68
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#69
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#70
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#71
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#72
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#73
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#74
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#75
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#76
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#77
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#78
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#79
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#80
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#81
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#82
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#83
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#84
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#85
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#86
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#87
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#88
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#89
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#90
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#91
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#92
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#93
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#94
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#95
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#96
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#97
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#98
-dEQP-GLES3.functional.shaders.random.basic_expression.fragment#99
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#0
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#1
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#2
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#3
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#4
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#5
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#6
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#7
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#8
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#9
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#10
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#11
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#12
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#13
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#14
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#15
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#16
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#17
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#18
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#19
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#20
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#21
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#22
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#23
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#24
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#25
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#26
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#27
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#28
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#29
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#30
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#31
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#32
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#33
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#34
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#35
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#36
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#37
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#38
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#39
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#40
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#41
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#42
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#43
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#44
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#45
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#46
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#47
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#48
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#49
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#50
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#51
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#52
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#53
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#54
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#55
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#56
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#57
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#58
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#59
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#60
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#61
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#62
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#63
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#64
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#65
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#66
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#67
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#68
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#69
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#70
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#71
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#72
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#73
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#74
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#75
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#76
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#77
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#78
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#79
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#80
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#81
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#82
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#83
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#84
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#85
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#86
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#87
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#88
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#89
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#90
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#91
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#92
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#93
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#94
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#95
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#96
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#97
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#98
-dEQP-GLES3.functional.shaders.random.basic_expression.combined#99
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#0
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#1
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#2
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#3
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#4
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#5
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#6
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#7
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#8
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#9
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#10
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#11
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#12
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#13
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#14
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#15
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#16
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#17
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#18
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#19
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#20
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#21
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#22
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#23
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#24
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#25
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#26
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#27
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#28
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#29
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#30
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#31
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#32
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#33
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#34
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#35
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#36
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#37
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#38
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#39
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#40
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#41
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#42
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#43
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#44
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#45
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#46
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#47
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#48
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#49
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#50
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#51
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#52
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#53
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#54
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#55
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#56
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#57
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#58
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#59
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#60
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#61
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#62
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#63
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#64
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#65
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#66
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#67
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#68
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#69
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#70
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#71
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#72
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#73
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#74
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#75
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#76
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#77
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#78
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#79
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#80
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#81
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#82
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#83
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#84
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#85
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#86
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#87
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#88
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#89
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#90
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#91
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#92
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#93
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#94
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#95
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#96
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#97
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#98
-dEQP-GLES3.functional.shaders.random.scalar_conversion.vertex#99
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#0
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#1
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#2
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#3
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#4
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#5
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#6
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#7
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#8
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#9
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#10
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#11
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#12
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#13
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#14
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#15
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#16
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#17
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#18
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#19
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#20
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#21
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#22
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#23
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#24
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#25
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#26
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#27
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#28
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#29
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#30
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#31
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#32
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#33
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#34
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#35
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#36
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#37
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#38
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#39
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#40
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#41
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#42
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#43
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#44
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#45
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#46
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#47
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#48
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#49
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#50
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#51
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#52
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#53
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#54
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#55
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#56
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#57
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#58
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#59
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#60
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#61
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#62
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#63
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#64
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#65
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#66
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#67
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#68
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#69
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#70
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#71
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#73
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#74
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#75
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#76
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#77
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#78
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#79
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#80
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#81
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#82
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#83
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#84
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#85
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#86
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#87
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#88
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#89
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#90
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#91
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#92
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#93
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#94
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#95
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#96
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#97
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#98
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#99
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#0
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#1
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#2
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#3
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#4
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#5
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#6
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#7
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#8
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#9
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#10
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#11
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#12
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#13
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#14
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#15
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#16
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#17
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#18
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#19
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#20
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#21
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#22
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#23
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#24
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#25
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#26
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#27
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#28
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#29
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#30
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#31
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#32
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#33
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#34
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#35
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#36
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#37
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#38
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#39
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#40
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#41
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#42
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#43
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#44
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#45
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#46
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#47
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#48
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#49
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#50
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#51
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#52
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#53
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#54
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#55
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#56
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#57
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#58
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#59
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#60
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#61
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#62
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#63
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#64
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#65
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#66
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#67
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#68
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#69
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#70
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#71
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#73
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#74
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#75
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#76
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#77
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#78
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#79
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#80
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#81
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#82
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#83
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#84
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#85
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#86
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#87
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#88
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#89
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#90
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#91
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#92
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#93
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#94
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#95
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#96
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#97
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#98
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#99
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#0
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#1
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#2
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#3
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#4
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#5
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#6
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#7
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#8
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#9
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#10
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#11
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#12
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#13
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#14
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#15
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#16
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#17
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#18
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#19
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#20
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#21
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#22
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#23
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#24
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#25
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#26
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#27
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#28
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#29
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#30
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#31
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#32
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#33
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#34
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#35
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#36
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#37
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#38
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#39
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#40
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#41
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#42
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#43
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#44
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#45
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#46
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#47
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#48
-dEQP-GLES3.functional.shaders.random.swizzle.vertex#49
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#0
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#1
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#2
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#3
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#4
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#5
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#6
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#7
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#8
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#9
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#10
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#11
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#12
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#13
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#14
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#15
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#16
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#17
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#18
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#19
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#20
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#21
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#22
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#23
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#24
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#25
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#26
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#27
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#28
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#29
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#30
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#31
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#32
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#33
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#34
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#35
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#36
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#37
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#38
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#39
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#40
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#41
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#42
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#43
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#44
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#45
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#46
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#47
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#48
-dEQP-GLES3.functional.shaders.random.swizzle.fragment#49
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#0
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#1
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#2
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#3
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#4
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#5
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#6
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#7
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#8
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#9
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#10
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#11
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#12
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#13
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#14
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#15
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#16
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#17
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#18
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#19
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#20
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#21
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#22
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#23
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#24
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#25
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#26
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#27
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#28
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#29
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#30
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#31
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#32
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#33
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#34
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#35
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#36
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#37
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#38
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#39
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#40
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#42
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#43
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#44
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#45
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#46
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#47
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#48
-dEQP-GLES3.functional.shaders.random.comparison_ops.vertex#49
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#0
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#1
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#2
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#3
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#4
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#5
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#6
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#7
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#8
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#9
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#10
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#11
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#12
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#13
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#14
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#15
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#16
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#17
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#18
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#19
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#20
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#21
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#22
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#23
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#24
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#25
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#26
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#27
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#28
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#29
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#30
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#31
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#32
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#33
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#34
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#35
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#36
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#37
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#38
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#39
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#40
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#42
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#43
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#44
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#45
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#46
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#47
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#48
-dEQP-GLES3.functional.shaders.random.comparison_ops.fragment#49
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#0
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#1
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#2
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#3
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#4
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#5
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#6
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#7
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#8
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#9
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#10
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#11
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#12
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#13
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#14
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#15
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#16
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#17
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#18
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#19
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#20
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#21
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#22
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#23
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#24
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#25
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#26
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#27
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#28
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#29
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#30
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#31
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#32
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#33
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#34
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#35
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#36
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#37
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#38
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#39
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#40
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#41
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#42
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#43
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#45
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#46
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#47
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#48
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#49
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#50
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#51
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#52
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#53
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#54
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#55
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#56
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#57
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#58
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#59
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#60
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#61
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#62
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#63
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#64
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#65
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#66
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#67
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#68
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#69
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#70
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#71
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#72
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#73
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#74
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#75
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#76
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#77
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#78
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#79
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#80
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#81
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#82
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#83
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#84
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#85
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#86
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#87
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#88
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#89
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#90
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#91
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#92
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#93
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#94
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#95
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#96
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#97
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#98
-dEQP-GLES3.functional.shaders.random.conditionals.vertex#99
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#0
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#1
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#2
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#3
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#4
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#5
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#6
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#7
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#8
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#9
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#10
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#11
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#12
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#13
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#14
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#15
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#16
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#17
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#18
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#19
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#20
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#21
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#22
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#23
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#24
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#25
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#26
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#27
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#28
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#29
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#30
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#31
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#32
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#33
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#34
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#35
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#36
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#37
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#38
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#39
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#40
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#41
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#42
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#43
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#44
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#45
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#46
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#47
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#48
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#49
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#50
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#51
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#52
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#53
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#54
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#55
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#56
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#57
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#58
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#59
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#60
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#61
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#62
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#63
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#64
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#65
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#66
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#67
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#68
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#69
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#70
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#71
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#72
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#73
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#74
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#75
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#76
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#77
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#78
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#79
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#80
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#81
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#82
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#83
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#84
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#85
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#86
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#87
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#88
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#89
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#90
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#91
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#92
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#93
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#94
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#95
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#96
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#97
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#98
-dEQP-GLES3.functional.shaders.random.conditionals.fragment#99
-dEQP-GLES3.functional.shaders.random.conditionals.combined#0
-dEQP-GLES3.functional.shaders.random.conditionals.combined#1
-dEQP-GLES3.functional.shaders.random.conditionals.combined#2
-dEQP-GLES3.functional.shaders.random.conditionals.combined#3
-dEQP-GLES3.functional.shaders.random.conditionals.combined#4
-dEQP-GLES3.functional.shaders.random.conditionals.combined#5
-dEQP-GLES3.functional.shaders.random.conditionals.combined#6
-dEQP-GLES3.functional.shaders.random.conditionals.combined#7
-dEQP-GLES3.functional.shaders.random.conditionals.combined#8
-dEQP-GLES3.functional.shaders.random.conditionals.combined#9
-dEQP-GLES3.functional.shaders.random.conditionals.combined#10
-dEQP-GLES3.functional.shaders.random.conditionals.combined#11
-dEQP-GLES3.functional.shaders.random.conditionals.combined#12
-dEQP-GLES3.functional.shaders.random.conditionals.combined#13
-dEQP-GLES3.functional.shaders.random.conditionals.combined#14
-dEQP-GLES3.functional.shaders.random.conditionals.combined#15
-dEQP-GLES3.functional.shaders.random.conditionals.combined#16
-dEQP-GLES3.functional.shaders.random.conditionals.combined#17
-dEQP-GLES3.functional.shaders.random.conditionals.combined#18
-dEQP-GLES3.functional.shaders.random.conditionals.combined#19
-dEQP-GLES3.functional.shaders.random.conditionals.combined#20
-dEQP-GLES3.functional.shaders.random.conditionals.combined#21
-dEQP-GLES3.functional.shaders.random.conditionals.combined#22
-dEQP-GLES3.functional.shaders.random.conditionals.combined#23
-dEQP-GLES3.functional.shaders.random.conditionals.combined#24
-dEQP-GLES3.functional.shaders.random.conditionals.combined#25
-dEQP-GLES3.functional.shaders.random.conditionals.combined#26
-dEQP-GLES3.functional.shaders.random.conditionals.combined#27
-dEQP-GLES3.functional.shaders.random.conditionals.combined#28
-dEQP-GLES3.functional.shaders.random.conditionals.combined#29
-dEQP-GLES3.functional.shaders.random.conditionals.combined#30
-dEQP-GLES3.functional.shaders.random.conditionals.combined#31
-dEQP-GLES3.functional.shaders.random.conditionals.combined#32
-dEQP-GLES3.functional.shaders.random.conditionals.combined#33
-dEQP-GLES3.functional.shaders.random.conditionals.combined#34
-dEQP-GLES3.functional.shaders.random.conditionals.combined#35
-dEQP-GLES3.functional.shaders.random.conditionals.combined#36
-dEQP-GLES3.functional.shaders.random.conditionals.combined#37
-dEQP-GLES3.functional.shaders.random.conditionals.combined#38
-dEQP-GLES3.functional.shaders.random.conditionals.combined#39
-dEQP-GLES3.functional.shaders.random.conditionals.combined#40
-dEQP-GLES3.functional.shaders.random.conditionals.combined#41
-dEQP-GLES3.functional.shaders.random.conditionals.combined#42
-dEQP-GLES3.functional.shaders.random.conditionals.combined#43
-dEQP-GLES3.functional.shaders.random.conditionals.combined#44
-dEQP-GLES3.functional.shaders.random.conditionals.combined#45
-dEQP-GLES3.functional.shaders.random.conditionals.combined#46
-dEQP-GLES3.functional.shaders.random.conditionals.combined#47
-dEQP-GLES3.functional.shaders.random.conditionals.combined#48
-dEQP-GLES3.functional.shaders.random.conditionals.combined#49
-dEQP-GLES3.functional.shaders.random.conditionals.combined#50
-dEQP-GLES3.functional.shaders.random.conditionals.combined#51
-dEQP-GLES3.functional.shaders.random.conditionals.combined#52
-dEQP-GLES3.functional.shaders.random.conditionals.combined#53
-dEQP-GLES3.functional.shaders.random.conditionals.combined#54
-dEQP-GLES3.functional.shaders.random.conditionals.combined#55
-dEQP-GLES3.functional.shaders.random.conditionals.combined#56
-dEQP-GLES3.functional.shaders.random.conditionals.combined#57
-dEQP-GLES3.functional.shaders.random.conditionals.combined#58
-dEQP-GLES3.functional.shaders.random.conditionals.combined#59
-dEQP-GLES3.functional.shaders.random.conditionals.combined#60
-dEQP-GLES3.functional.shaders.random.conditionals.combined#61
-dEQP-GLES3.functional.shaders.random.conditionals.combined#62
-dEQP-GLES3.functional.shaders.random.conditionals.combined#63
-dEQP-GLES3.functional.shaders.random.conditionals.combined#64
-dEQP-GLES3.functional.shaders.random.conditionals.combined#65
-dEQP-GLES3.functional.shaders.random.conditionals.combined#66
-dEQP-GLES3.functional.shaders.random.conditionals.combined#67
-dEQP-GLES3.functional.shaders.random.conditionals.combined#68
-dEQP-GLES3.functional.shaders.random.conditionals.combined#69
-dEQP-GLES3.functional.shaders.random.conditionals.combined#70
-dEQP-GLES3.functional.shaders.random.conditionals.combined#71
-dEQP-GLES3.functional.shaders.random.conditionals.combined#72
-dEQP-GLES3.functional.shaders.random.conditionals.combined#73
-dEQP-GLES3.functional.shaders.random.conditionals.combined#74
-dEQP-GLES3.functional.shaders.random.conditionals.combined#75
-dEQP-GLES3.functional.shaders.random.conditionals.combined#76
-dEQP-GLES3.functional.shaders.random.conditionals.combined#77
-dEQP-GLES3.functional.shaders.random.conditionals.combined#78
-dEQP-GLES3.functional.shaders.random.conditionals.combined#79
-dEQP-GLES3.functional.shaders.random.conditionals.combined#80
-dEQP-GLES3.functional.shaders.random.conditionals.combined#81
-dEQP-GLES3.functional.shaders.random.conditionals.combined#82
-dEQP-GLES3.functional.shaders.random.conditionals.combined#83
-dEQP-GLES3.functional.shaders.random.conditionals.combined#84
-dEQP-GLES3.functional.shaders.random.conditionals.combined#85
-dEQP-GLES3.functional.shaders.random.conditionals.combined#86
-dEQP-GLES3.functional.shaders.random.conditionals.combined#87
-dEQP-GLES3.functional.shaders.random.conditionals.combined#88
-dEQP-GLES3.functional.shaders.random.conditionals.combined#89
-dEQP-GLES3.functional.shaders.random.conditionals.combined#90
-dEQP-GLES3.functional.shaders.random.conditionals.combined#91
-dEQP-GLES3.functional.shaders.random.conditionals.combined#92
-dEQP-GLES3.functional.shaders.random.conditionals.combined#93
-dEQP-GLES3.functional.shaders.random.conditionals.combined#94
-dEQP-GLES3.functional.shaders.random.conditionals.combined#95
-dEQP-GLES3.functional.shaders.random.conditionals.combined#96
-dEQP-GLES3.functional.shaders.random.conditionals.combined#97
-dEQP-GLES3.functional.shaders.random.conditionals.combined#98
-dEQP-GLES3.functional.shaders.random.conditionals.combined#99
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#0
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#1
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#2
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#4
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#5
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#6
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#7
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#8
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#9
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#12
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#13
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#14
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#16
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#17
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#18
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#19
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#20
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#21
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#22
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#23
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#24
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#25
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#26
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#27
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#28
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#29
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#30
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#31
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#32
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#33
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#34
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#35
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#36
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#38
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#39
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#41
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#42
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#43
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#44
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#45
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#46
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#47
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#48
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#50
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#51
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#52
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#53
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#54
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#55
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#56
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#57
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#58
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#59
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#60
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#61
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#62
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#63
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#64
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#65
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#66
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#67
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#68
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#69
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#70
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#71
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#72
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#73
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#74
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#75
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#76
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#77
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#78
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#79
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#80
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#81
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#82
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#84
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#85
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#86
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#87
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#88
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#90
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#91
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#92
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#93
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#95
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#96
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#97
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#98
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#99
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#0
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#1
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#2
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#4
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#5
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#6
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#7
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#8
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#9
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#11
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#12
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#13
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#14
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#16
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#17
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#18
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#19
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#20
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#21
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#22
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#23
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#24
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#25
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#26
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#27
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#28
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#29
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#30
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#31
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#32
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#33
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#34
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#35
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#36
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#38
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#39
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#41
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#42
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#43
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#44
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#45
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#46
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#47
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#48
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#50
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#51
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#52
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#53
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#54
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#55
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#56
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#57
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#58
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#59
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#60
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#61
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#62
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#63
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#64
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#65
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#66
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#67
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#68
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#69
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#70
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#71
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#72
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#73
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#74
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#75
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#76
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#77
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#78
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#79
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#80
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#81
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#82
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#84
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#85
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#86
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#87
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#88
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#90
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#91
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#92
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#93
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#95
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#96
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#97
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#98
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#99
-dEQP-GLES3.functional.shaders.random.exponential.vertex#0
-dEQP-GLES3.functional.shaders.random.exponential.vertex#1
-dEQP-GLES3.functional.shaders.random.exponential.vertex#2
-dEQP-GLES3.functional.shaders.random.exponential.vertex#3
-dEQP-GLES3.functional.shaders.random.exponential.vertex#4
-dEQP-GLES3.functional.shaders.random.exponential.vertex#5
-dEQP-GLES3.functional.shaders.random.exponential.vertex#6
-dEQP-GLES3.functional.shaders.random.exponential.vertex#7
-dEQP-GLES3.functional.shaders.random.exponential.vertex#8
-dEQP-GLES3.functional.shaders.random.exponential.vertex#9
-dEQP-GLES3.functional.shaders.random.exponential.vertex#10
-dEQP-GLES3.functional.shaders.random.exponential.vertex#11
-dEQP-GLES3.functional.shaders.random.exponential.vertex#12
-dEQP-GLES3.functional.shaders.random.exponential.vertex#13
-dEQP-GLES3.functional.shaders.random.exponential.vertex#14
-dEQP-GLES3.functional.shaders.random.exponential.vertex#15
-dEQP-GLES3.functional.shaders.random.exponential.vertex#16
-dEQP-GLES3.functional.shaders.random.exponential.vertex#17
-dEQP-GLES3.functional.shaders.random.exponential.vertex#18
-dEQP-GLES3.functional.shaders.random.exponential.vertex#19
-dEQP-GLES3.functional.shaders.random.exponential.vertex#20
-dEQP-GLES3.functional.shaders.random.exponential.vertex#21
-dEQP-GLES3.functional.shaders.random.exponential.vertex#22
-dEQP-GLES3.functional.shaders.random.exponential.vertex#23
-dEQP-GLES3.functional.shaders.random.exponential.vertex#25
-dEQP-GLES3.functional.shaders.random.exponential.vertex#26
-dEQP-GLES3.functional.shaders.random.exponential.vertex#27
-dEQP-GLES3.functional.shaders.random.exponential.vertex#28
-dEQP-GLES3.functional.shaders.random.exponential.vertex#29
-dEQP-GLES3.functional.shaders.random.exponential.vertex#30
-dEQP-GLES3.functional.shaders.random.exponential.vertex#31
-dEQP-GLES3.functional.shaders.random.exponential.vertex#33
-dEQP-GLES3.functional.shaders.random.exponential.vertex#34
-dEQP-GLES3.functional.shaders.random.exponential.vertex#35
-dEQP-GLES3.functional.shaders.random.exponential.vertex#36
-dEQP-GLES3.functional.shaders.random.exponential.vertex#37
-dEQP-GLES3.functional.shaders.random.exponential.vertex#39
-dEQP-GLES3.functional.shaders.random.exponential.vertex#40
-dEQP-GLES3.functional.shaders.random.exponential.vertex#41
-dEQP-GLES3.functional.shaders.random.exponential.vertex#42
-dEQP-GLES3.functional.shaders.random.exponential.vertex#43
-dEQP-GLES3.functional.shaders.random.exponential.vertex#44
-dEQP-GLES3.functional.shaders.random.exponential.vertex#45
-dEQP-GLES3.functional.shaders.random.exponential.vertex#47
-dEQP-GLES3.functional.shaders.random.exponential.vertex#48
-dEQP-GLES3.functional.shaders.random.exponential.vertex#49
-dEQP-GLES3.functional.shaders.random.exponential.vertex#50
-dEQP-GLES3.functional.shaders.random.exponential.vertex#52
-dEQP-GLES3.functional.shaders.random.exponential.vertex#53
-dEQP-GLES3.functional.shaders.random.exponential.vertex#54
-dEQP-GLES3.functional.shaders.random.exponential.vertex#55
-dEQP-GLES3.functional.shaders.random.exponential.vertex#56
-dEQP-GLES3.functional.shaders.random.exponential.vertex#57
-dEQP-GLES3.functional.shaders.random.exponential.vertex#58
-dEQP-GLES3.functional.shaders.random.exponential.vertex#59
-dEQP-GLES3.functional.shaders.random.exponential.vertex#60
-dEQP-GLES3.functional.shaders.random.exponential.vertex#61
-dEQP-GLES3.functional.shaders.random.exponential.vertex#62
-dEQP-GLES3.functional.shaders.random.exponential.vertex#63
-dEQP-GLES3.functional.shaders.random.exponential.vertex#65
-dEQP-GLES3.functional.shaders.random.exponential.vertex#66
-dEQP-GLES3.functional.shaders.random.exponential.vertex#67
-dEQP-GLES3.functional.shaders.random.exponential.vertex#68
-dEQP-GLES3.functional.shaders.random.exponential.vertex#69
-dEQP-GLES3.functional.shaders.random.exponential.vertex#71
-dEQP-GLES3.functional.shaders.random.exponential.vertex#72
-dEQP-GLES3.functional.shaders.random.exponential.vertex#73
-dEQP-GLES3.functional.shaders.random.exponential.vertex#74
-dEQP-GLES3.functional.shaders.random.exponential.vertex#75
-dEQP-GLES3.functional.shaders.random.exponential.vertex#76
-dEQP-GLES3.functional.shaders.random.exponential.vertex#77
-dEQP-GLES3.functional.shaders.random.exponential.vertex#78
-dEQP-GLES3.functional.shaders.random.exponential.vertex#80
-dEQP-GLES3.functional.shaders.random.exponential.vertex#81
-dEQP-GLES3.functional.shaders.random.exponential.vertex#82
-dEQP-GLES3.functional.shaders.random.exponential.vertex#83
-dEQP-GLES3.functional.shaders.random.exponential.vertex#84
-dEQP-GLES3.functional.shaders.random.exponential.vertex#85
-dEQP-GLES3.functional.shaders.random.exponential.vertex#86
-dEQP-GLES3.functional.shaders.random.exponential.vertex#87
-dEQP-GLES3.functional.shaders.random.exponential.vertex#88
-dEQP-GLES3.functional.shaders.random.exponential.vertex#89
-dEQP-GLES3.functional.shaders.random.exponential.vertex#90
-dEQP-GLES3.functional.shaders.random.exponential.vertex#91
-dEQP-GLES3.functional.shaders.random.exponential.vertex#92
-dEQP-GLES3.functional.shaders.random.exponential.vertex#93
-dEQP-GLES3.functional.shaders.random.exponential.vertex#94
-dEQP-GLES3.functional.shaders.random.exponential.vertex#95
-dEQP-GLES3.functional.shaders.random.exponential.vertex#96
-dEQP-GLES3.functional.shaders.random.exponential.vertex#97
-dEQP-GLES3.functional.shaders.random.exponential.vertex#98
-dEQP-GLES3.functional.shaders.random.exponential.vertex#99
-dEQP-GLES3.functional.shaders.random.exponential.fragment#0
-dEQP-GLES3.functional.shaders.random.exponential.fragment#2
-dEQP-GLES3.functional.shaders.random.exponential.fragment#3
-dEQP-GLES3.functional.shaders.random.exponential.fragment#4
-dEQP-GLES3.functional.shaders.random.exponential.fragment#5
-dEQP-GLES3.functional.shaders.random.exponential.fragment#6
-dEQP-GLES3.functional.shaders.random.exponential.fragment#7
-dEQP-GLES3.functional.shaders.random.exponential.fragment#8
-dEQP-GLES3.functional.shaders.random.exponential.fragment#9
-dEQP-GLES3.functional.shaders.random.exponential.fragment#10
-dEQP-GLES3.functional.shaders.random.exponential.fragment#12
-dEQP-GLES3.functional.shaders.random.exponential.fragment#13
-dEQP-GLES3.functional.shaders.random.exponential.fragment#14
-dEQP-GLES3.functional.shaders.random.exponential.fragment#15
-dEQP-GLES3.functional.shaders.random.exponential.fragment#16
-dEQP-GLES3.functional.shaders.random.exponential.fragment#17
-dEQP-GLES3.functional.shaders.random.exponential.fragment#18
-dEQP-GLES3.functional.shaders.random.exponential.fragment#19
-dEQP-GLES3.functional.shaders.random.exponential.fragment#20
-dEQP-GLES3.functional.shaders.random.exponential.fragment#21
-dEQP-GLES3.functional.shaders.random.exponential.fragment#22
-dEQP-GLES3.functional.shaders.random.exponential.fragment#23
-dEQP-GLES3.functional.shaders.random.exponential.fragment#25
-dEQP-GLES3.functional.shaders.random.exponential.fragment#26
-dEQP-GLES3.functional.shaders.random.exponential.fragment#27
-dEQP-GLES3.functional.shaders.random.exponential.fragment#28
-dEQP-GLES3.functional.shaders.random.exponential.fragment#29
-dEQP-GLES3.functional.shaders.random.exponential.fragment#30
-dEQP-GLES3.functional.shaders.random.exponential.fragment#31
-dEQP-GLES3.functional.shaders.random.exponential.fragment#33
-dEQP-GLES3.functional.shaders.random.exponential.fragment#34
-dEQP-GLES3.functional.shaders.random.exponential.fragment#35
-dEQP-GLES3.functional.shaders.random.exponential.fragment#36
-dEQP-GLES3.functional.shaders.random.exponential.fragment#37
-dEQP-GLES3.functional.shaders.random.exponential.fragment#38
-dEQP-GLES3.functional.shaders.random.exponential.fragment#39
-dEQP-GLES3.functional.shaders.random.exponential.fragment#40
-dEQP-GLES3.functional.shaders.random.exponential.fragment#41
-dEQP-GLES3.functional.shaders.random.exponential.fragment#42
-dEQP-GLES3.functional.shaders.random.exponential.fragment#43
-dEQP-GLES3.functional.shaders.random.exponential.fragment#44
-dEQP-GLES3.functional.shaders.random.exponential.fragment#45
-dEQP-GLES3.functional.shaders.random.exponential.fragment#46
-dEQP-GLES3.functional.shaders.random.exponential.fragment#48
-dEQP-GLES3.functional.shaders.random.exponential.fragment#49
-dEQP-GLES3.functional.shaders.random.exponential.fragment#50
-dEQP-GLES3.functional.shaders.random.exponential.fragment#52
-dEQP-GLES3.functional.shaders.random.exponential.fragment#53
-dEQP-GLES3.functional.shaders.random.exponential.fragment#54
-dEQP-GLES3.functional.shaders.random.exponential.fragment#55
-dEQP-GLES3.functional.shaders.random.exponential.fragment#56
-dEQP-GLES3.functional.shaders.random.exponential.fragment#57
-dEQP-GLES3.functional.shaders.random.exponential.fragment#58
-dEQP-GLES3.functional.shaders.random.exponential.fragment#59
-dEQP-GLES3.functional.shaders.random.exponential.fragment#60
-dEQP-GLES3.functional.shaders.random.exponential.fragment#61
-dEQP-GLES3.functional.shaders.random.exponential.fragment#62
-dEQP-GLES3.functional.shaders.random.exponential.fragment#63
-dEQP-GLES3.functional.shaders.random.exponential.fragment#65
-dEQP-GLES3.functional.shaders.random.exponential.fragment#66
-dEQP-GLES3.functional.shaders.random.exponential.fragment#67
-dEQP-GLES3.functional.shaders.random.exponential.fragment#68
-dEQP-GLES3.functional.shaders.random.exponential.fragment#69
-dEQP-GLES3.functional.shaders.random.exponential.fragment#71
-dEQP-GLES3.functional.shaders.random.exponential.fragment#72
-dEQP-GLES3.functional.shaders.random.exponential.fragment#73
-dEQP-GLES3.functional.shaders.random.exponential.fragment#74
-dEQP-GLES3.functional.shaders.random.exponential.fragment#75
-dEQP-GLES3.functional.shaders.random.exponential.fragment#76
-dEQP-GLES3.functional.shaders.random.exponential.fragment#77
-dEQP-GLES3.functional.shaders.random.exponential.fragment#78
-dEQP-GLES3.functional.shaders.random.exponential.fragment#80
-dEQP-GLES3.functional.shaders.random.exponential.fragment#81
-dEQP-GLES3.functional.shaders.random.exponential.fragment#82
-dEQP-GLES3.functional.shaders.random.exponential.fragment#83
-dEQP-GLES3.functional.shaders.random.exponential.fragment#84
-dEQP-GLES3.functional.shaders.random.exponential.fragment#85
-dEQP-GLES3.functional.shaders.random.exponential.fragment#86
-dEQP-GLES3.functional.shaders.random.exponential.fragment#87
-dEQP-GLES3.functional.shaders.random.exponential.fragment#89
-dEQP-GLES3.functional.shaders.random.exponential.fragment#90
-dEQP-GLES3.functional.shaders.random.exponential.fragment#91
-dEQP-GLES3.functional.shaders.random.exponential.fragment#92
-dEQP-GLES3.functional.shaders.random.exponential.fragment#93
-dEQP-GLES3.functional.shaders.random.exponential.fragment#94
-dEQP-GLES3.functional.shaders.random.exponential.fragment#95
-dEQP-GLES3.functional.shaders.random.exponential.fragment#96
-dEQP-GLES3.functional.shaders.random.exponential.fragment#97
-dEQP-GLES3.functional.shaders.random.exponential.fragment#98
-dEQP-GLES3.functional.shaders.random.exponential.fragment#99
-dEQP-GLES3.functional.shaders.random.texture.vertex#0
-dEQP-GLES3.functional.shaders.random.texture.vertex#1
-dEQP-GLES3.functional.shaders.random.texture.vertex#2
-dEQP-GLES3.functional.shaders.random.texture.vertex#3
-dEQP-GLES3.functional.shaders.random.texture.vertex#4
-dEQP-GLES3.functional.shaders.random.texture.vertex#5
-dEQP-GLES3.functional.shaders.random.texture.vertex#6
-dEQP-GLES3.functional.shaders.random.texture.vertex#7
-dEQP-GLES3.functional.shaders.random.texture.vertex#8
-dEQP-GLES3.functional.shaders.random.texture.vertex#9
-dEQP-GLES3.functional.shaders.random.texture.vertex#10
-dEQP-GLES3.functional.shaders.random.texture.vertex#11
-dEQP-GLES3.functional.shaders.random.texture.vertex#12
-dEQP-GLES3.functional.shaders.random.texture.vertex#13
-dEQP-GLES3.functional.shaders.random.texture.vertex#14
-dEQP-GLES3.functional.shaders.random.texture.vertex#15
-dEQP-GLES3.functional.shaders.random.texture.vertex#16
-dEQP-GLES3.functional.shaders.random.texture.vertex#17
-dEQP-GLES3.functional.shaders.random.texture.vertex#18
-dEQP-GLES3.functional.shaders.random.texture.vertex#19
-dEQP-GLES3.functional.shaders.random.texture.vertex#20
-dEQP-GLES3.functional.shaders.random.texture.vertex#21
-dEQP-GLES3.functional.shaders.random.texture.vertex#22
-dEQP-GLES3.functional.shaders.random.texture.vertex#23
-dEQP-GLES3.functional.shaders.random.texture.vertex#24
-dEQP-GLES3.functional.shaders.random.texture.vertex#25
-dEQP-GLES3.functional.shaders.random.texture.vertex#26
-dEQP-GLES3.functional.shaders.random.texture.vertex#27
-dEQP-GLES3.functional.shaders.random.texture.vertex#28
-dEQP-GLES3.functional.shaders.random.texture.vertex#29
-dEQP-GLES3.functional.shaders.random.texture.vertex#30
-dEQP-GLES3.functional.shaders.random.texture.vertex#31
-dEQP-GLES3.functional.shaders.random.texture.vertex#32
-dEQP-GLES3.functional.shaders.random.texture.vertex#33
-dEQP-GLES3.functional.shaders.random.texture.vertex#34
-dEQP-GLES3.functional.shaders.random.texture.vertex#35
-dEQP-GLES3.functional.shaders.random.texture.vertex#36
-dEQP-GLES3.functional.shaders.random.texture.vertex#37
-dEQP-GLES3.functional.shaders.random.texture.vertex#38
-dEQP-GLES3.functional.shaders.random.texture.vertex#39
-dEQP-GLES3.functional.shaders.random.texture.vertex#40
-dEQP-GLES3.functional.shaders.random.texture.vertex#41
-dEQP-GLES3.functional.shaders.random.texture.vertex#42
-dEQP-GLES3.functional.shaders.random.texture.vertex#43
-dEQP-GLES3.functional.shaders.random.texture.vertex#44
-dEQP-GLES3.functional.shaders.random.texture.vertex#45
-dEQP-GLES3.functional.shaders.random.texture.vertex#46
-dEQP-GLES3.functional.shaders.random.texture.vertex#47
-dEQP-GLES3.functional.shaders.random.texture.vertex#48
-dEQP-GLES3.functional.shaders.random.texture.vertex#49
-dEQP-GLES3.functional.shaders.random.texture.fragment#0
-dEQP-GLES3.functional.shaders.random.texture.fragment#1
-dEQP-GLES3.functional.shaders.random.texture.fragment#2
-dEQP-GLES3.functional.shaders.random.texture.fragment#3
-dEQP-GLES3.functional.shaders.random.texture.fragment#4
-dEQP-GLES3.functional.shaders.random.texture.fragment#5
-dEQP-GLES3.functional.shaders.random.texture.fragment#6
-dEQP-GLES3.functional.shaders.random.texture.fragment#7
-dEQP-GLES3.functional.shaders.random.texture.fragment#8
-dEQP-GLES3.functional.shaders.random.texture.fragment#9
-dEQP-GLES3.functional.shaders.random.texture.fragment#10
-dEQP-GLES3.functional.shaders.random.texture.fragment#11
-dEQP-GLES3.functional.shaders.random.texture.fragment#12
-dEQP-GLES3.functional.shaders.random.texture.fragment#13
-dEQP-GLES3.functional.shaders.random.texture.fragment#14
-dEQP-GLES3.functional.shaders.random.texture.fragment#15
-dEQP-GLES3.functional.shaders.random.texture.fragment#16
-dEQP-GLES3.functional.shaders.random.texture.fragment#17
-dEQP-GLES3.functional.shaders.random.texture.fragment#18
-dEQP-GLES3.functional.shaders.random.texture.fragment#19
-dEQP-GLES3.functional.shaders.random.texture.fragment#20
-dEQP-GLES3.functional.shaders.random.texture.fragment#21
-dEQP-GLES3.functional.shaders.random.texture.fragment#22
-dEQP-GLES3.functional.shaders.random.texture.fragment#23
-dEQP-GLES3.functional.shaders.random.texture.fragment#24
-dEQP-GLES3.functional.shaders.random.texture.fragment#25
-dEQP-GLES3.functional.shaders.random.texture.fragment#26
-dEQP-GLES3.functional.shaders.random.texture.fragment#27
-dEQP-GLES3.functional.shaders.random.texture.fragment#28
-dEQP-GLES3.functional.shaders.random.texture.fragment#29
-dEQP-GLES3.functional.shaders.random.texture.fragment#30
-dEQP-GLES3.functional.shaders.random.texture.fragment#31
-dEQP-GLES3.functional.shaders.random.texture.fragment#32
-dEQP-GLES3.functional.shaders.random.texture.fragment#33
-dEQP-GLES3.functional.shaders.random.texture.fragment#34
-dEQP-GLES3.functional.shaders.random.texture.fragment#35
-dEQP-GLES3.functional.shaders.random.texture.fragment#36
-dEQP-GLES3.functional.shaders.random.texture.fragment#37
-dEQP-GLES3.functional.shaders.random.texture.fragment#38
-dEQP-GLES3.functional.shaders.random.texture.fragment#39
-dEQP-GLES3.functional.shaders.random.texture.fragment#40
-dEQP-GLES3.functional.shaders.random.texture.fragment#41
-dEQP-GLES3.functional.shaders.random.texture.fragment#42
-dEQP-GLES3.functional.shaders.random.texture.fragment#43
-dEQP-GLES3.functional.shaders.random.texture.fragment#44
-dEQP-GLES3.functional.shaders.random.texture.fragment#45
-dEQP-GLES3.functional.shaders.random.texture.fragment#46
-dEQP-GLES3.functional.shaders.random.texture.fragment#47
-dEQP-GLES3.functional.shaders.random.texture.fragment#48
-dEQP-GLES3.functional.shaders.random.texture.fragment#49
-dEQP-GLES3.functional.shaders.random.texture.fragment#50
-dEQP-GLES3.functional.shaders.random.texture.fragment#51
-dEQP-GLES3.functional.shaders.random.texture.fragment#52
-dEQP-GLES3.functional.shaders.random.texture.fragment#53
-dEQP-GLES3.functional.shaders.random.texture.fragment#54
-dEQP-GLES3.functional.shaders.random.texture.fragment#55
-dEQP-GLES3.functional.shaders.random.texture.fragment#56
-dEQP-GLES3.functional.shaders.random.texture.fragment#57
-dEQP-GLES3.functional.shaders.random.texture.fragment#58
-dEQP-GLES3.functional.shaders.random.texture.fragment#59
-dEQP-GLES3.functional.shaders.random.texture.fragment#60
-dEQP-GLES3.functional.shaders.random.texture.fragment#61
-dEQP-GLES3.functional.shaders.random.texture.fragment#62
-dEQP-GLES3.functional.shaders.random.texture.fragment#63
-dEQP-GLES3.functional.shaders.random.texture.fragment#64
-dEQP-GLES3.functional.shaders.random.texture.fragment#65
-dEQP-GLES3.functional.shaders.random.texture.fragment#66
-dEQP-GLES3.functional.shaders.random.texture.fragment#67
-dEQP-GLES3.functional.shaders.random.texture.fragment#68
-dEQP-GLES3.functional.shaders.random.texture.fragment#69
-dEQP-GLES3.functional.shaders.random.texture.fragment#70
-dEQP-GLES3.functional.shaders.random.texture.fragment#71
-dEQP-GLES3.functional.shaders.random.texture.fragment#73
-dEQP-GLES3.functional.shaders.random.texture.fragment#74
-dEQP-GLES3.functional.shaders.random.texture.fragment#75
-dEQP-GLES3.functional.shaders.random.texture.fragment#76
-dEQP-GLES3.functional.shaders.random.texture.fragment#77
-dEQP-GLES3.functional.shaders.random.texture.fragment#78
-dEQP-GLES3.functional.shaders.random.texture.fragment#79
-dEQP-GLES3.functional.shaders.random.texture.fragment#80
-dEQP-GLES3.functional.shaders.random.texture.fragment#81
-dEQP-GLES3.functional.shaders.random.texture.fragment#82
-dEQP-GLES3.functional.shaders.random.texture.fragment#83
-dEQP-GLES3.functional.shaders.random.texture.fragment#84
-dEQP-GLES3.functional.shaders.random.texture.fragment#85
-dEQP-GLES3.functional.shaders.random.texture.fragment#86
-dEQP-GLES3.functional.shaders.random.texture.fragment#87
-dEQP-GLES3.functional.shaders.random.texture.fragment#88
-dEQP-GLES3.functional.shaders.random.texture.fragment#89
-dEQP-GLES3.functional.shaders.random.texture.fragment#90
-dEQP-GLES3.functional.shaders.random.texture.fragment#91
-dEQP-GLES3.functional.shaders.random.texture.fragment#92
-dEQP-GLES3.functional.shaders.random.texture.fragment#93
-dEQP-GLES3.functional.shaders.random.texture.fragment#94
-dEQP-GLES3.functional.shaders.random.texture.fragment#95
-dEQP-GLES3.functional.shaders.random.texture.fragment#96
-dEQP-GLES3.functional.shaders.random.texture.fragment#97
-dEQP-GLES3.functional.shaders.random.texture.fragment#98
-dEQP-GLES3.functional.shaders.random.texture.fragment#99
-dEQP-GLES3.functional.shaders.random.texture.fragment#100
-dEQP-GLES3.functional.shaders.random.texture.fragment#101
-dEQP-GLES3.functional.shaders.random.texture.fragment#102
-dEQP-GLES3.functional.shaders.random.texture.fragment#103
-dEQP-GLES3.functional.shaders.random.texture.fragment#104
-dEQP-GLES3.functional.shaders.random.texture.fragment#105
-dEQP-GLES3.functional.shaders.random.texture.fragment#106
-dEQP-GLES3.functional.shaders.random.texture.fragment#107
-dEQP-GLES3.functional.shaders.random.texture.fragment#108
-dEQP-GLES3.functional.shaders.random.texture.fragment#109
-dEQP-GLES3.functional.shaders.random.texture.fragment#110
-dEQP-GLES3.functional.shaders.random.texture.fragment#111
-dEQP-GLES3.functional.shaders.random.texture.fragment#112
-dEQP-GLES3.functional.shaders.random.texture.fragment#113
-dEQP-GLES3.functional.shaders.random.texture.fragment#114
-dEQP-GLES3.functional.shaders.random.texture.fragment#115
-dEQP-GLES3.functional.shaders.random.texture.fragment#116
-dEQP-GLES3.functional.shaders.random.texture.fragment#117
-dEQP-GLES3.functional.shaders.random.texture.fragment#118
-dEQP-GLES3.functional.shaders.random.texture.fragment#119
-dEQP-GLES3.functional.shaders.random.texture.fragment#120
-dEQP-GLES3.functional.shaders.random.texture.fragment#121
-dEQP-GLES3.functional.shaders.random.texture.fragment#122
-dEQP-GLES3.functional.shaders.random.texture.fragment#123
-dEQP-GLES3.functional.shaders.random.texture.fragment#124
-dEQP-GLES3.functional.shaders.random.texture.fragment#125
-dEQP-GLES3.functional.shaders.random.texture.fragment#126
-dEQP-GLES3.functional.shaders.random.texture.fragment#127
-dEQP-GLES3.functional.shaders.random.texture.fragment#128
-dEQP-GLES3.functional.shaders.random.texture.fragment#129
-dEQP-GLES3.functional.shaders.random.texture.fragment#130
-dEQP-GLES3.functional.shaders.random.texture.fragment#131
-dEQP-GLES3.functional.shaders.random.texture.fragment#132
-dEQP-GLES3.functional.shaders.random.texture.fragment#133
-dEQP-GLES3.functional.shaders.random.texture.fragment#134
-dEQP-GLES3.functional.shaders.random.texture.fragment#135
-dEQP-GLES3.functional.shaders.random.texture.fragment#136
-dEQP-GLES3.functional.shaders.random.texture.fragment#137
-dEQP-GLES3.functional.shaders.random.texture.fragment#138
-dEQP-GLES3.functional.shaders.random.texture.fragment#139
-dEQP-GLES3.functional.shaders.random.texture.fragment#140
-dEQP-GLES3.functional.shaders.random.texture.fragment#141
-dEQP-GLES3.functional.shaders.random.texture.fragment#142
-dEQP-GLES3.functional.shaders.random.texture.fragment#143
-dEQP-GLES3.functional.shaders.random.texture.fragment#144
-dEQP-GLES3.functional.shaders.random.texture.fragment#145
-dEQP-GLES3.functional.shaders.random.texture.fragment#146
-dEQP-GLES3.functional.shaders.random.texture.fragment#147
-dEQP-GLES3.functional.shaders.random.texture.fragment#148
-dEQP-GLES3.functional.shaders.random.texture.fragment#149
-dEQP-GLES3.functional.shaders.random.all_features.vertex#0
-dEQP-GLES3.functional.shaders.random.all_features.vertex#3
-dEQP-GLES3.functional.shaders.random.all_features.vertex#8
-dEQP-GLES3.functional.shaders.random.all_features.vertex#11
-dEQP-GLES3.functional.shaders.random.all_features.vertex#12
-dEQP-GLES3.functional.shaders.random.all_features.vertex#14
-dEQP-GLES3.functional.shaders.random.all_features.vertex#15
-dEQP-GLES3.functional.shaders.random.all_features.vertex#19
-dEQP-GLES3.functional.shaders.random.all_features.vertex#20
-dEQP-GLES3.functional.shaders.random.all_features.vertex#24
-dEQP-GLES3.functional.shaders.random.all_features.vertex#25
-dEQP-GLES3.functional.shaders.random.all_features.vertex#27
-dEQP-GLES3.functional.shaders.random.all_features.vertex#28
-dEQP-GLES3.functional.shaders.random.all_features.vertex#31
-dEQP-GLES3.functional.shaders.random.all_features.vertex#33
-dEQP-GLES3.functional.shaders.random.all_features.vertex#36
-dEQP-GLES3.functional.shaders.random.all_features.vertex#43
-dEQP-GLES3.functional.shaders.random.all_features.vertex#51
-dEQP-GLES3.functional.shaders.random.all_features.vertex#52
-dEQP-GLES3.functional.shaders.random.all_features.vertex#57
-dEQP-GLES3.functional.shaders.random.all_features.vertex#59
-dEQP-GLES3.functional.shaders.random.all_features.vertex#60
-dEQP-GLES3.functional.shaders.random.all_features.vertex#63
-dEQP-GLES3.functional.shaders.random.all_features.vertex#64
-dEQP-GLES3.functional.shaders.random.all_features.vertex#67
-dEQP-GLES3.functional.shaders.random.all_features.vertex#68
-dEQP-GLES3.functional.shaders.random.all_features.vertex#75
-dEQP-GLES3.functional.shaders.random.all_features.vertex#82
-dEQP-GLES3.functional.shaders.random.all_features.vertex#83
-dEQP-GLES3.functional.shaders.random.all_features.vertex#86
-dEQP-GLES3.functional.shaders.random.all_features.vertex#89
-dEQP-GLES3.functional.shaders.random.all_features.vertex#91
-dEQP-GLES3.functional.shaders.random.all_features.vertex#95
-dEQP-GLES3.functional.shaders.random.all_features.vertex#97
-dEQP-GLES3.functional.shaders.random.all_features.vertex#99
-dEQP-GLES3.functional.shaders.random.all_features.fragment#2
-dEQP-GLES3.functional.shaders.random.all_features.fragment#3
-dEQP-GLES3.functional.shaders.random.all_features.fragment#4
-dEQP-GLES3.functional.shaders.random.all_features.fragment#8
-dEQP-GLES3.functional.shaders.random.all_features.fragment#11
-dEQP-GLES3.functional.shaders.random.all_features.fragment#15
-dEQP-GLES3.functional.shaders.random.all_features.fragment#17
-dEQP-GLES3.functional.shaders.random.all_features.fragment#19
-dEQP-GLES3.functional.shaders.random.all_features.fragment#23
-dEQP-GLES3.functional.shaders.random.all_features.fragment#24
-dEQP-GLES3.functional.shaders.random.all_features.fragment#27
-dEQP-GLES3.functional.shaders.random.all_features.fragment#28
-dEQP-GLES3.functional.shaders.random.all_features.fragment#29
-dEQP-GLES3.functional.shaders.random.all_features.fragment#31
-dEQP-GLES3.functional.shaders.random.all_features.fragment#33
-dEQP-GLES3.functional.shaders.random.all_features.fragment#36
-dEQP-GLES3.functional.shaders.random.all_features.fragment#42
-dEQP-GLES3.functional.shaders.random.all_features.fragment#43
-dEQP-GLES3.functional.shaders.random.all_features.fragment#51
-dEQP-GLES3.functional.shaders.random.all_features.fragment#52
-dEQP-GLES3.functional.shaders.random.all_features.fragment#57
-dEQP-GLES3.functional.shaders.random.all_features.fragment#59
-dEQP-GLES3.functional.shaders.random.all_features.fragment#60
-dEQP-GLES3.functional.shaders.random.all_features.fragment#67
-dEQP-GLES3.functional.shaders.random.all_features.fragment#68
-dEQP-GLES3.functional.shaders.random.all_features.fragment#74
-dEQP-GLES3.functional.shaders.random.all_features.fragment#75
-dEQP-GLES3.functional.shaders.random.all_features.fragment#83
-dEQP-GLES3.functional.shaders.random.all_features.fragment#84
-dEQP-GLES3.functional.shaders.random.all_features.fragment#85
-dEQP-GLES3.functional.shaders.random.all_features.fragment#91
-dEQP-GLES3.functional.shaders.random.all_features.fragment#97
-dEQP-GLES3.functional.shaders.random.all_features.fragment#98
-dEQP-GLES3.functional.shaders.random.all_features.fragment#99
-dEQP-GLES3.functional.texture.format.unsized#alpha_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#alpha_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#alpha_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#alpha_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#alpha_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#alpha_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#alpha_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#alpha_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#luminance_alpha_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgb_unsigned_byte_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_3d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_2d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_2d_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_cube_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_cube_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_2d_array_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_2d_array_npot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_3d_pot
-dEQP-GLES3.functional.texture.format.unsized#rgba_unsigned_byte_3d_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#srgb8_alpha8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#srgb8_alpha8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb10_a2_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb10_a2_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb10_a2ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb10_a2ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba4_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba4_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb5_a1_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb5_a1_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgba8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb565_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb565_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r11f_g11f_b10f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r11f_g11f_b10f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#srgb8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#srgb8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb9_e5_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rgb9_e5_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d#rg8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d#r8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d#r8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component24_pot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.2d#depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.2d#depth32f_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#depth32f_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d#depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d#depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba32ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba16ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#srgb8_alpha8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#srgb8_alpha8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb10_a2_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb10_a2_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb10_a2ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb10_a2ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba4_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba4_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb5_a1_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb5_a1_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgba8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb565_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb565_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r11f_g11f_b10f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r11f_g11f_b10f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb32ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb16ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb8ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#srgb8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#srgb8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb9_e5_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rgb9_e5_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg32ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg16ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.cube#rg8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r32f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r32f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r32i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r32i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r32ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r32ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r16f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r16f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r16i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r16i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r16ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r16ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r8i_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r8i_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r8ui_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r8ui_npot
-dEQP-GLES3.functional.texture.format.sized.cube#r8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.cube#r8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component32f_pot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component32f_npot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component24_pot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.cube#depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.cube#depth32f_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#depth32f_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.cube#depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.cube#depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#srgb8_alpha8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#srgb8_alpha8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb10_a2_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb10_a2_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb10_a2ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb10_a2ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba4_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba4_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb5_a1_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb5_a1_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgba8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb565_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb565_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r11f_g11f_b10f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r11f_g11f_b10f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#srgb8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#srgb8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb9_e5_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rgb9_e5_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#rg8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r32ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r16ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8i_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8i_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8ui_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8ui_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#r8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component32f_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component32f_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component24_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component24_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component16_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth_component16_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth32f_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth32f_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth24_stencil8_pot
-dEQP-GLES3.functional.texture.format.sized.2d_array#depth24_stencil8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba32ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba16ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#srgb8_alpha8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#srgb8_alpha8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb10_a2_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb10_a2_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb10_a2ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb10_a2ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba4_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba4_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb5_a1_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb5_a1_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgba8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb565_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb565_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r11f_g11f_b10f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r11f_g11f_b10f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb32ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb16ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb8ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#srgb8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#srgb8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb9_e5_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rgb9_e5_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg32ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg16ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.3d#rg8_snorm_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r32f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r32f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r32i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r32i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r32ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r32ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r16f_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r16f_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r16i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r16i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r16ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r16ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r8_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r8_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r8i_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r8i_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r8ui_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r8ui_npot
-dEQP-GLES3.functional.texture.format.sized.3d#r8_snorm_pot
-dEQP-GLES3.functional.texture.format.sized.3d#r8_snorm_npot
-dEQP-GLES3.functional.texture.format.compressed#etc1_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc1_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc1_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc1_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_r11_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_r11_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_r11_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_r11_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_r11_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_r11_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_r11_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_r11_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_rg11_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_rg11_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_rg11_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_rg11_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_rg11_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_rg11_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_rg11_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#eac_signed_rg11_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_punchthrough_alpha1_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_punchthrough_alpha1_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_punchthrough_alpha1_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_rgb8_punchthrough_alpha1_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_punchthrough_alpha1_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_punchthrough_alpha1_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_punchthrough_alpha1_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_srgb8_punchthrough_alpha1_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_rgba8_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_rgba8_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_rgba8_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_rgba8_cube_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_srgb8_alpha8_2d_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_srgb8_alpha8_cube_pot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_srgb8_alpha8_2d_npot
-dEQP-GLES3.functional.texture.format.compressed#etc2_eac_srgb8_alpha8_cube_npot
-dEQP-GLES3.functional.texture.size.2d#64x64_l8
-dEQP-GLES3.functional.texture.size.2d#64x64_l8_mipmap
-dEQP-GLES3.functional.texture.size.2d#64x64_rgba4444
-dEQP-GLES3.functional.texture.size.2d#64x64_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.2d#64x64_rgb888
-dEQP-GLES3.functional.texture.size.2d#64x64_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.2d#64x64_rgba8888
-dEQP-GLES3.functional.texture.size.2d#64x64_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.2d#65x63_l8
-dEQP-GLES3.functional.texture.size.2d#65x63_rgba4444
-dEQP-GLES3.functional.texture.size.2d#65x63_rgb888
-dEQP-GLES3.functional.texture.size.2d#65x63_rgba8888
-dEQP-GLES3.functional.texture.size.2d#512x512_l8
-dEQP-GLES3.functional.texture.size.2d#512x512_l8_mipmap
-dEQP-GLES3.functional.texture.size.2d#512x512_rgba4444
-dEQP-GLES3.functional.texture.size.2d#512x512_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.2d#512x512_rgb888
-dEQP-GLES3.functional.texture.size.2d#512x512_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.2d#512x512_rgba8888
-dEQP-GLES3.functional.texture.size.2d#512x512_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.2d#1024x1024_l8
-dEQP-GLES3.functional.texture.size.2d#1024x1024_l8_mipmap
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgba4444
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgb888
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgba8888
-dEQP-GLES3.functional.texture.size.2d#1024x1024_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.2d#2048x2048_l8
-dEQP-GLES3.functional.texture.size.2d#2048x2048_l8_mipmap
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgba4444
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgb888
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgba8888
-dEQP-GLES3.functional.texture.size.2d#2048x2048_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.cube#15x15_l8
-dEQP-GLES3.functional.texture.size.cube#15x15_rgba4444
-dEQP-GLES3.functional.texture.size.cube#15x15_rgb888
-dEQP-GLES3.functional.texture.size.cube#15x15_rgba8888
-dEQP-GLES3.functional.texture.size.cube#16x16_l8
-dEQP-GLES3.functional.texture.size.cube#16x16_l8_mipmap
-dEQP-GLES3.functional.texture.size.cube#16x16_rgba4444
-dEQP-GLES3.functional.texture.size.cube#16x16_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.cube#16x16_rgb888
-dEQP-GLES3.functional.texture.size.cube#16x16_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.cube#16x16_rgba8888
-dEQP-GLES3.functional.texture.size.cube#16x16_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.cube#64x64_l8
-dEQP-GLES3.functional.texture.size.cube#64x64_l8_mipmap
-dEQP-GLES3.functional.texture.size.cube#64x64_rgba4444
-dEQP-GLES3.functional.texture.size.cube#64x64_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.cube#64x64_rgb888
-dEQP-GLES3.functional.texture.size.cube#64x64_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.cube#64x64_rgba8888
-dEQP-GLES3.functional.texture.size.cube#64x64_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.cube#128x128_l8
-dEQP-GLES3.functional.texture.size.cube#128x128_l8_mipmap
-dEQP-GLES3.functional.texture.size.cube#128x128_rgba4444
-dEQP-GLES3.functional.texture.size.cube#128x128_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.cube#128x128_rgb888
-dEQP-GLES3.functional.texture.size.cube#128x128_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.cube#128x128_rgba8888
-dEQP-GLES3.functional.texture.size.cube#128x128_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.cube#256x256_l8
-dEQP-GLES3.functional.texture.size.cube#256x256_l8_mipmap
-dEQP-GLES3.functional.texture.size.cube#256x256_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.cube#256x256_rgb888
-dEQP-GLES3.functional.texture.size.cube#256x256_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.cube#256x256_rgba8888
-dEQP-GLES3.functional.texture.size.cube#256x256_rgba8888_mipmap
-dEQP-GLES3.functional.texture.size.cube#512x512_l8
-dEQP-GLES3.functional.texture.size.cube#512x512_l8_mipmap
-dEQP-GLES3.functional.texture.size.cube#512x512_rgba4444_mipmap
-dEQP-GLES3.functional.texture.size.cube#512x512_rgb888
-dEQP-GLES3.functional.texture.size.cube#512x512_rgb888_mipmap
-dEQP-GLES3.functional.texture.size.cube#512x512_rgba8888
-dEQP-GLES3.functional.texture.size.cube#512x512_rgba8888_mipmap
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.rgba8#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc1#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_r11#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_r11#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_rg11#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.eac_signed_rg11#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_rgb8_punchthrough_alpha1#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_srgb8_punchthrough_alpha1#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_rgba8#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_clamp_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_clamp_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_repeat_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_repeat_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_mirror_nearest_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_mirror_linear_pot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#clamp_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#repeat_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_clamp_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_clamp_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_repeat_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_repeat_linear_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_mirror_nearest_npot
-dEQP-GLES3.functional.texture.wrap.etc2_eac_srgb8_alpha8#mirror_mirror_linear_npot
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_4x4_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x4_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_5x5_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x5_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_6x6_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x5_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x6_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x5_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x6_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x8_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_10x10_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x10_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_clamp_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_clamp_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_repeat_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_repeat_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_mirror_nearest_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_mirror_linear_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#clamp_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#repeat_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_clamp_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_clamp_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_repeat_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_repeat_linear_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_mirror_nearest_not_divisible
-dEQP-GLES3.functional.texture.wrap.astc_12x12_srgb#mirror_mirror_linear_not_divisible
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba16f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#r11f_g11f_b10f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb9_e5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba8_snorm_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb565_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgba4_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb5_a1_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#srgb8_alpha8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#rgb10_a2_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.formats#etc1_rgb8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#4x8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#32x64_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#128x128_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#3x7_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#31x55_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#31x55_linear
-dEQP-GLES3.functional.texture.filtering.2d.sizes#127x99_nearest
-dEQP-GLES3.functional.texture.filtering.2d.sizes#127x99_linear
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#nearest_nearest_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_linear_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba16f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#r11f_g11f_b10f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb9_e5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba8_snorm_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb565_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgba4_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb5_a1_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#srgb8_alpha8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#rgb10_a2_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.formats#etc1_rgb8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#8x8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#64x64_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#128x128_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#7x7_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.cube.sizes#63x63_nearest
-dEQP-GLES3.functional.texture.filtering.cube.sizes#63x63_linear
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#nearest_nearest_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.cube.combinations#linear_linear_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.cube.no_edges_visible#nearest
-dEQP-GLES3.functional.texture.filtering.cube.no_edges_visible#linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba16f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#r11f_g11f_b10f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb9_e5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba8_snorm_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb565_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgba4_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb5_a1_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#srgb8_alpha8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.formats#rgb10_a2_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#4x8x8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#32x64x16_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#128x32x64_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#3x7x5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#63x63x63_nearest
-dEQP-GLES3.functional.texture.filtering.2d_array.sizes#63x63x63_linear
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_nearest_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_linear_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_linear_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba16f_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba16f_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba16f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba16f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba16f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#r11f_g11f_b10f_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb9_e5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba8_snorm_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb565_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgba4_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb5_a1_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#srgb8_alpha8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.formats#rgb10_a2_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#4x8x8_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#32x64x16_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#128x32x64_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_nearest_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_linear_mipmap_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_nearest_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#3x7x5_linear_mipmap_linear
-dEQP-GLES3.functional.texture.filtering.3d.sizes#63x63x63_nearest
-dEQP-GLES3.functional.texture.filtering.3d.sizes#63x63x63_linear
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_clamp_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_repeat_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_nearest_mirror_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#nearest_linear_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_nearest_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_clamp_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_repeat_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_clamp_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_repeat_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_mirror_repeat
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_linear_mirror_mirror_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_clamp_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_repeat_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_nearest_mirror_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_clamp_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_repeat_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_nearest_mirror_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_clamp_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_repeat_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#nearest_linear_mirror_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_clamp_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_repeat_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.2d.basic#linear_linear_mirror_non_square
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.affine#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.affine#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.bias#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.bias#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.bias#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.2d.bias#linear_linear
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#a8_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#l8_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb565_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgb888_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba4444_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba5551_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_npot_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_npot_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_non_square_fastest
-dEQP-GLES3.functional.texture.mipmap.2d.generate#rgba8888_non_square_nicest
-dEQP-GLES3.functional.texture.mipmap.2d.min_lod#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.min_lod#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.min_lod#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.2d.min_lod#linear_linear
-dEQP-GLES3.functional.texture.mipmap.2d.max_lod#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.max_lod#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.2d.max_lod#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.2d.max_lod#linear_linear
-dEQP-GLES3.functional.texture.mipmap.cube.basic#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.basic#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.basic#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.cube.basic#linear_linear
-dEQP-GLES3.functional.texture.mipmap.cube.projected#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.bias#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.bias#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.cube.generate#a8_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#a8_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#l8_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#l8_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgb565_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgb565_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgb888_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgb888_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba4444_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba4444_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba5551_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba5551_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba8888_fastest
-dEQP-GLES3.functional.texture.mipmap.cube.generate#rgba8888_nicest
-dEQP-GLES3.functional.texture.mipmap.cube.min_lod#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.min_lod#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.cube.min_lod#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.cube.min_lod#linear_linear
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_nearest_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_nearest_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.basic#nearest_linear_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_clamp_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_repeat_npot
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.basic#linear_linear_mirror_npot
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.affine#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.affine#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.projected#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.3d.projected#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.3d.bias#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.bias#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.bias#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.3d.bias#linear_linear
-dEQP-GLES3.functional.texture.mipmap.3d.min_lod#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.min_lod#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.min_lod#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.3d.min_lod#linear_linear
-dEQP-GLES3.functional.texture.mipmap.3d.max_lod#nearest_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.max_lod#linear_nearest
-dEQP-GLES3.functional.texture.mipmap.3d.max_lod#nearest_linear
-dEQP-GLES3.functional.texture.mipmap.3d.max_lod#linear_linear
-dEQP-GLES3.functional.texture.swizzle.single_channel#r_green
-dEQP-GLES3.functional.texture.swizzle.single_channel#r_blue
-dEQP-GLES3.functional.texture.swizzle.single_channel#r_alpha
-dEQP-GLES3.functional.texture.swizzle.single_channel#r_zero
-dEQP-GLES3.functional.texture.swizzle.single_channel#r_one
-dEQP-GLES3.functional.texture.swizzle.single_channel#g_red
-dEQP-GLES3.functional.texture.swizzle.single_channel#g_blue
-dEQP-GLES3.functional.texture.swizzle.single_channel#g_alpha
-dEQP-GLES3.functional.texture.swizzle.single_channel#g_zero
-dEQP-GLES3.functional.texture.swizzle.single_channel#g_one
-dEQP-GLES3.functional.texture.swizzle.single_channel#b_red
-dEQP-GLES3.functional.texture.swizzle.single_channel#b_green
-dEQP-GLES3.functional.texture.swizzle.single_channel#b_alpha
-dEQP-GLES3.functional.texture.swizzle.single_channel#b_zero
-dEQP-GLES3.functional.texture.swizzle.single_channel#b_one
-dEQP-GLES3.functional.texture.swizzle.single_channel#a_red
-dEQP-GLES3.functional.texture.swizzle.single_channel#a_green
-dEQP-GLES3.functional.texture.swizzle.single_channel#a_blue
-dEQP-GLES3.functional.texture.swizzle.single_channel#a_zero
-dEQP-GLES3.functional.texture.swizzle.single_channel#a_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#alpha_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#luminance_alpha_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#red_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rg_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgb_one_one_red_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_red
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_green
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_blue
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_alpha
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_zero
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_all_one
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_bgra
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_abgr
-dEQP-GLES3.functional.texture.swizzle.multi_channel#rgba_one_one_red_green
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.nearest_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d.linear_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.nearest_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.cube.linear_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_nearest#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.nearest_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_or_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_or_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_or_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#less_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#greater_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#not_equal_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#not_equal_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#not_equal_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#always_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#always_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#always_depth24_stencil8
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#never_depth_component16
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#never_depth_component32f
-dEQP-GLES3.functional.texture.shadow.2d_array.linear_mipmap_linear#never_depth24_stencil8
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#srgb8_alpha8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#srgb8_alpha8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb10_a2_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb10_a2_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb10_a2ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb10_a2ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba4_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba4_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb5_a1_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb5_a1_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgba8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb565_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb565_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r11f_g11f_b10f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r11f_g11f_b10f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#srgb8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#srgb8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb9_e5_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rgb9_e5_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#rg8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16f_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16f_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8i_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8i_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_teximage2d#r8_snorm_cube
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_0
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_1
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_2
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_3
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_4
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_5
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_6
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_7
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_8
-dEQP-GLES3.functional.texture.specification.random_teximage2d#2d_9
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_0
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_1
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_2
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_3
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_4
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_5
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_6
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_7
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_8
-dEQP-GLES3.functional.texture.specification.random_teximage2d#cube_9
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_r8_4_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_r8_63_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_r8_63_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_r8_63_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_r8_63_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba4_51_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba4_51_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba4_51_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba4_51_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgb8_39_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgb8_39_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgb8_39_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgb8_39_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba8_47_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba8_47_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba8_47_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#2d_rgba8_47_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_r8_4_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_r8_63_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_r8_63_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_r8_63_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_r8_63_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba4_51_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba4_51_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba4_51_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba4_51_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgb8_39_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgb8_39_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgb8_39_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgb8_39_8
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba8_47_1
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba8_47_2
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba8_47_4
-dEQP-GLES3.functional.texture.specification.teximage2d_align#cube_rgba8_47_8
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgb8_alignment
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgb8_row_length
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgb8_skip_rows
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgb8_skip_pixels
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#r8_complex1
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#r8_complex2
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#r8_complex3
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#r8_complex4
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgba8_complex1
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgba8_complex2
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgba8_complex3
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgba8_complex4
-dEQP-GLES3.functional.texture.specification.teximage2d_unpack_params#rgba32f_complex
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba32ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba16ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#srgb8_alpha8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#srgb8_alpha8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb10_a2_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb10_a2_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb10_a2ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb10_a2ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba4_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba4_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb5_a1_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb5_a1_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8_snorm_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgba8_snorm_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb565_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb565_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r11f_g11f_b10f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r11f_g11f_b10f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb32ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb16ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_snorm_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_snorm_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#srgb8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#srgb8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb9_e5_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb9_e5_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg32ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg16ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8_snorm_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rg8_snorm_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r32ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16f_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16f_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r16ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8i_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8i_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8ui_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8ui_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8_snorm_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#r8_snorm_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_offset_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_offset_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_alignment_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_alignment_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_row_length_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_row_length_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_skip_rows_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_skip_rows_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_skip_pixels_2d
-dEQP-GLES3.functional.texture.specification.teximage2d_pbo#rgb8_skip_pixels_cube
-dEQP-GLES3.functional.texture.specification.teximage2d_depth#depth_component32f
-dEQP-GLES3.functional.texture.specification.teximage2d_depth#depth_component24
-dEQP-GLES3.functional.texture.specification.teximage2d_depth#depth_component16
-dEQP-GLES3.functional.texture.specification.teximage2d_depth#depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth#depth24_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo#depth_component32f
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo#depth_component24
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo#depth_component16
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo#depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.teximage2d_depth_pbo#depth24_stencil8
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#srgb8_alpha8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#srgb8_alpha8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb10_a2_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb10_a2_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb10_a2ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb10_a2ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba4_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba4_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb5_a1_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb5_a1_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgba8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb565_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb565_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r11f_g11f_b10f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r11f_g11f_b10f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#srgb8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#srgb8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb9_e5_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rgb9_e5_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#rg8_snorm_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r32ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16f_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16f_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r16ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8i_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8i_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8ui_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8ui_cube
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8_snorm_2d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage2d#r8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#alpha_unsigned_byte_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#alpha_unsigned_byte_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#luminance_unsigned_byte_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#luminance_unsigned_byte_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#luminance_alpha_unsigned_byte_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#luminance_alpha_unsigned_byte_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgb_unsigned_short_5_6_5_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgb_unsigned_short_5_6_5_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgb_unsigned_byte_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgb_unsigned_byte_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_short_4_4_4_4_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_short_4_4_4_4_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_short_5_5_5_1_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_short_5_5_5_1_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_byte_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_empty_tex#rgba_unsigned_byte_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_1_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_1_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_1_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_1_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_63_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_63_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_63_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_r8_63_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba4_51_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba4_51_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba4_51_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba4_51_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgb8_39_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgb8_39_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgb8_39_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgb8_39_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba8_47_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba8_47_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba8_47_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#2d_rgba8_47_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_1_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_1_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_1_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_1_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_63_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_63_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_63_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_r8_63_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba4_51_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba4_51_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba4_51_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba4_51_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgb8_39_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgb8_39_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgb8_39_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgb8_39_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba8_47_1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba8_47_2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba8_47_4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_align#cube_rgba8_47_8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgb8_alignment
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgb8_row_length
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgb8_skip_rows
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgb8_skip_pixels
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#r8_complex1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#r8_complex2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#r8_complex3
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#r8_complex4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgba8_complex1
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgba8_complex2
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgba8_complex3
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgba8_complex4
-dEQP-GLES3.functional.texture.specification.texsubimage2d_unpack_params#rgba32f_complex
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba32ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba16ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#srgb8_alpha8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#srgb8_alpha8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb10_a2_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb10_a2_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb10_a2ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb10_a2ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba4_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba4_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb5_a1_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb5_a1_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgba8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb565_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb565_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r11f_g11f_b10f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r11f_g11f_b10f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb32ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb16ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#srgb8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#srgb8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb9_e5_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb9_e5_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg32ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg16ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rg8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r32ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16f_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16f_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r16ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8i_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8i_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8ui_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8ui_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#r8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_offset_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_offset_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_alignment_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_alignment_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_row_length_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_row_length_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_skip_rows_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_skip_rows_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_skip_pixels_2d
-dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo#rgb8_skip_pixels_cube
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth#depth_component32f
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth#depth_component24
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth#depth_component16
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth#depth32f_stencil8
-dEQP-GLES3.functional.texture.specification.texsubimage2d_depth#depth24_stencil8
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#2d_alpha
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#2d_luminance
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#2d_luminance_alpha
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#2d_rgb
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#2d_rgba
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#cube_alpha
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#cube_luminance
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#cube_luminance_alpha
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#cube_rgb
-dEQP-GLES3.functional.texture.specification.basic_copyteximage2d#cube_rgba
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#2d_alpha
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#2d_luminance
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#2d_luminance_alpha
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#2d_rgb
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#2d_rgba
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#cube_alpha
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#cube_luminance
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#cube_luminance_alpha
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#cube_rgb
-dEQP-GLES3.functional.texture.specification.basic_copytexsubimage2d#cube_rgba
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba32f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba32i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba32ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba16f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba16i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba16ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba8i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba8ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#srgb8_alpha8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb10_a2_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb10_a2ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba4_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba4_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb5_a1_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb565_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb565_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r11f_g11f_b10f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb32f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb32i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb32ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb16f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb16i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb16ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#srgb8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb9_e5_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg32f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg32i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg32ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg16f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg16i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg16ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg8i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg8ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r16f_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r16i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r16ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8i_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8ui_2d_array
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgb8_image_height
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgb8_row_length
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgb8_skip_images
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgb8_skip_rows
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgb8_skip_pixels
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#r8_complex1
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#r8_complex2
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#r8_complex3
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#r8_complex4
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgba8_complex1
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgba8_complex2
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgba8_complex3
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgba8_complex4
-dEQP-GLES3.functional.texture.specification.teximage3d_unpack_params#rgba32f_complex
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba32ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba16ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#srgb8_alpha8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#srgb8_alpha8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb10_a2_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb10_a2_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb10_a2ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb10_a2ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba4_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba4_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb5_a1_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb5_a1_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgba8_snorm_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb565_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb565_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r11f_g11f_b10f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r11f_g11f_b10f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb32ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb16ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_snorm_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#srgb8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#srgb8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb9_e5_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb9_e5_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg32ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg16ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rg8_snorm_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r32ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16f_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r16ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8i_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8i_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8ui_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8ui_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#r8_snorm_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_offset_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_offset_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_alignment_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_alignment_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_image_height_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_image_height_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_row_length_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_row_length_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_images_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_images_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_rows_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_rows_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_pixels_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_pbo#rgb8_skip_pixels_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_depth#depth_component32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth#depth_component24_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth#depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth#depth32f_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth#depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo#depth_component32f_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo#depth_component24_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo#depth32f_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo#depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba32f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba32i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba32ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba16f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba16i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba8i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba8ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#srgb8_alpha8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb10_a2_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb10_a2ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba4_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb5_a1_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgba8_snorm_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb565_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r11f_g11f_b10f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb32f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb32i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb32ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb16f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb16i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb8_snorm_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb8i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb8ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#srgb8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rgb9_e5_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg32f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg32i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg32ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg16f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg16i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg8i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg8ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#rg8_snorm_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r32f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r32i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r32ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r16f_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r16i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r8_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r8i_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r8ui_3d
-dEQP-GLES3.functional.texture.specification.basic_texsubimage3d#r8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgb8_image_height
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgb8_row_length
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgb8_skip_images
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgb8_skip_rows
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgb8_skip_pixels
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#r8_complex1
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#r8_complex2
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#r8_complex3
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#r8_complex4
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgba8_complex1
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgba8_complex2
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgba8_complex3
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgba8_complex4
-dEQP-GLES3.functional.texture.specification.texsubimage3d_unpack_params#rgba32f_complex
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba32ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba16ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#srgb8_alpha8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#srgb8_alpha8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb10_a2_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb10_a2_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb10_a2ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb10_a2ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba4_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba4_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb5_a1_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb5_a1_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgba8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb565_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb565_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r11f_g11f_b10f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r11f_g11f_b10f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb32ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb16ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#srgb8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#srgb8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb9_e5_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb9_e5_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg32ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg16ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rg8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r32ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16f_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r16ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8i_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8i_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8ui_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8ui_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#r8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_offset_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_offset_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_image_height_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_image_height_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_row_length_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_row_length_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_images_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_images_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_rows_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_rows_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_pixels_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_pixels_3d
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth#depth_component32f_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth#depth_component24_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth#depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth#depth32f_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texsubimage3d_depth#depth24_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba32f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba32i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba32ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba16f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba16i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba16ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#srgb8_alpha8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb10_a2_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb10_a2ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba4_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba4_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb5_a1_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb5_a1_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb565_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb565_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r11f_g11f_b10f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#srgb8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb9_e5_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8i_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8ui_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8_snorm_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component32f_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component24_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component16_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth32f_stencil8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth24_stencil8_cube
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_1x1_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_2x2_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_64x32_7_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_32x64_4_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_57x63_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_57x63_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_1x1_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_2x2_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_57x57_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_57x57_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_57x57_6_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_64x64_4_levels
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#cube_64x64_7_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba32i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba16ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb10_a2ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba4_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba4_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb5_a1_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb565_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r11f_g11f_b10f_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb32ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb9_e5_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg16f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg16ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r16f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_1x1x1_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_2x2x2_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_64x32x3_7_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_32x64x3_4_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_57x63x5_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#2d_array_57x63x5_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_1x1x1_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_2x2x2_2_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_64x32x16_7_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_32x64x16_4_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_32x16x64_4_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_57x63x11_1_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.size#3d_57x63x11_2_levels
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#nearest_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d.filtering#linear_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d.wrap#clamp_clamp
-dEQP-GLES3.functional.texture.vertex.2d.wrap#clamp_repeat
-dEQP-GLES3.functional.texture.vertex.2d.wrap#clamp_mirror
-dEQP-GLES3.functional.texture.vertex.2d.wrap#repeat_clamp
-dEQP-GLES3.functional.texture.vertex.2d.wrap#repeat_repeat
-dEQP-GLES3.functional.texture.vertex.2d.wrap#repeat_mirror
-dEQP-GLES3.functional.texture.vertex.2d.wrap#mirror_clamp
-dEQP-GLES3.functional.texture.vertex.2d.wrap#mirror_repeat
-dEQP-GLES3.functional.texture.vertex.2d.wrap#mirror_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#nearest_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.cube.filtering#linear_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.cube.wrap#clamp_clamp
-dEQP-GLES3.functional.texture.vertex.cube.wrap#clamp_repeat
-dEQP-GLES3.functional.texture.vertex.cube.wrap#clamp_mirror
-dEQP-GLES3.functional.texture.vertex.cube.wrap#repeat_clamp
-dEQP-GLES3.functional.texture.vertex.cube.wrap#repeat_repeat
-dEQP-GLES3.functional.texture.vertex.cube.wrap#repeat_mirror
-dEQP-GLES3.functional.texture.vertex.cube.wrap#mirror_clamp
-dEQP-GLES3.functional.texture.vertex.cube.wrap#mirror_repeat
-dEQP-GLES3.functional.texture.vertex.cube.wrap#mirror_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#nearest_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.filtering#linear_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#clamp_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#clamp_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#clamp_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#repeat_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#repeat_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#repeat_mirror
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#mirror_clamp
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#mirror_repeat
-dEQP-GLES3.functional.texture.vertex.2d_array.wrap#mirror_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_linear_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_linear_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_nearest_linear_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#nearest_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_nearest_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_nearest_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_nearest_mirror
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_linear_clamp
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_linear_repeat
-dEQP-GLES3.functional.texture.vertex.3d.filtering#linear_mipmap_linear_linear_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_clamp_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_clamp_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_clamp_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_repeat_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_repeat_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_repeat_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_mirror_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_mirror_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#clamp_mirror_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_clamp_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_clamp_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_clamp_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_repeat_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_repeat_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_repeat_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_mirror_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_mirror_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#repeat_mirror_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_clamp_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_clamp_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_clamp_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_repeat_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_repeat_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_repeat_mirror
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_mirror_clamp
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_mirror_repeat
-dEQP-GLES3.functional.texture.vertex.3d.wrap#mirror_mirror_mirror
-dEQP-GLES3.functional.texture.units.2_units.only_2d#0
-dEQP-GLES3.functional.texture.units.2_units.only_2d#1
-dEQP-GLES3.functional.texture.units.2_units.only_2d#2
-dEQP-GLES3.functional.texture.units.2_units.only_2d#3
-dEQP-GLES3.functional.texture.units.2_units.only_2d#4
-dEQP-GLES3.functional.texture.units.2_units.only_2d#5
-dEQP-GLES3.functional.texture.units.2_units.only_2d#6
-dEQP-GLES3.functional.texture.units.2_units.only_2d#7
-dEQP-GLES3.functional.texture.units.2_units.only_2d#8
-dEQP-GLES3.functional.texture.units.2_units.only_2d#9
-dEQP-GLES3.functional.texture.units.2_units.only_cube#0
-dEQP-GLES3.functional.texture.units.2_units.only_cube#1
-dEQP-GLES3.functional.texture.units.2_units.only_cube#2
-dEQP-GLES3.functional.texture.units.2_units.only_cube#3
-dEQP-GLES3.functional.texture.units.2_units.only_cube#4
-dEQP-GLES3.functional.texture.units.2_units.only_cube#5
-dEQP-GLES3.functional.texture.units.2_units.only_cube#6
-dEQP-GLES3.functional.texture.units.2_units.only_cube#7
-dEQP-GLES3.functional.texture.units.2_units.only_cube#8
-dEQP-GLES3.functional.texture.units.2_units.only_cube#9
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#0
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#1
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#2
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#3
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#4
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#5
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#6
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#7
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#8
-dEQP-GLES3.functional.texture.units.2_units.only_2d_array#9
-dEQP-GLES3.functional.texture.units.2_units.only_3d#0
-dEQP-GLES3.functional.texture.units.2_units.only_3d#1
-dEQP-GLES3.functional.texture.units.2_units.only_3d#2
-dEQP-GLES3.functional.texture.units.2_units.only_3d#3
-dEQP-GLES3.functional.texture.units.2_units.only_3d#4
-dEQP-GLES3.functional.texture.units.2_units.only_3d#5
-dEQP-GLES3.functional.texture.units.2_units.only_3d#6
-dEQP-GLES3.functional.texture.units.2_units.only_3d#7
-dEQP-GLES3.functional.texture.units.2_units.only_3d#8
-dEQP-GLES3.functional.texture.units.2_units.only_3d#9
-dEQP-GLES3.functional.texture.units.2_units.mixed#0
-dEQP-GLES3.functional.texture.units.2_units.mixed#1
-dEQP-GLES3.functional.texture.units.2_units.mixed#2
-dEQP-GLES3.functional.texture.units.2_units.mixed#3
-dEQP-GLES3.functional.texture.units.2_units.mixed#4
-dEQP-GLES3.functional.texture.units.2_units.mixed#5
-dEQP-GLES3.functional.texture.units.2_units.mixed#6
-dEQP-GLES3.functional.texture.units.2_units.mixed#7
-dEQP-GLES3.functional.texture.units.2_units.mixed#8
-dEQP-GLES3.functional.texture.units.2_units.mixed#9
-dEQP-GLES3.functional.texture.units.4_units.only_2d#0
-dEQP-GLES3.functional.texture.units.4_units.only_2d#1
-dEQP-GLES3.functional.texture.units.4_units.only_2d#2
-dEQP-GLES3.functional.texture.units.4_units.only_2d#3
-dEQP-GLES3.functional.texture.units.4_units.only_2d#4
-dEQP-GLES3.functional.texture.units.4_units.only_2d#5
-dEQP-GLES3.functional.texture.units.4_units.only_2d#6
-dEQP-GLES3.functional.texture.units.4_units.only_2d#7
-dEQP-GLES3.functional.texture.units.4_units.only_2d#8
-dEQP-GLES3.functional.texture.units.4_units.only_2d#9
-dEQP-GLES3.functional.texture.units.4_units.only_cube#0
-dEQP-GLES3.functional.texture.units.4_units.only_cube#1
-dEQP-GLES3.functional.texture.units.4_units.only_cube#2
-dEQP-GLES3.functional.texture.units.4_units.only_cube#3
-dEQP-GLES3.functional.texture.units.4_units.only_cube#4
-dEQP-GLES3.functional.texture.units.4_units.only_cube#5
-dEQP-GLES3.functional.texture.units.4_units.only_cube#6
-dEQP-GLES3.functional.texture.units.4_units.only_cube#7
-dEQP-GLES3.functional.texture.units.4_units.only_cube#8
-dEQP-GLES3.functional.texture.units.4_units.only_cube#9
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#0
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#1
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#2
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#3
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#4
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#5
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#6
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#7
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#8
-dEQP-GLES3.functional.texture.units.4_units.only_2d_array#9
-dEQP-GLES3.functional.texture.units.4_units.only_3d#0
-dEQP-GLES3.functional.texture.units.4_units.only_3d#1
-dEQP-GLES3.functional.texture.units.4_units.only_3d#2
-dEQP-GLES3.functional.texture.units.4_units.only_3d#3
-dEQP-GLES3.functional.texture.units.4_units.only_3d#4
-dEQP-GLES3.functional.texture.units.4_units.only_3d#5
-dEQP-GLES3.functional.texture.units.4_units.only_3d#6
-dEQP-GLES3.functional.texture.units.4_units.only_3d#7
-dEQP-GLES3.functional.texture.units.4_units.only_3d#8
-dEQP-GLES3.functional.texture.units.4_units.only_3d#9
-dEQP-GLES3.functional.texture.units.4_units.mixed#0
-dEQP-GLES3.functional.texture.units.4_units.mixed#1
-dEQP-GLES3.functional.texture.units.4_units.mixed#2
-dEQP-GLES3.functional.texture.units.4_units.mixed#3
-dEQP-GLES3.functional.texture.units.4_units.mixed#4
-dEQP-GLES3.functional.texture.units.4_units.mixed#5
-dEQP-GLES3.functional.texture.units.4_units.mixed#6
-dEQP-GLES3.functional.texture.units.4_units.mixed#7
-dEQP-GLES3.functional.texture.units.4_units.mixed#8
-dEQP-GLES3.functional.texture.units.4_units.mixed#9
-dEQP-GLES3.functional.texture.units.8_units.only_2d#0
-dEQP-GLES3.functional.texture.units.8_units.only_2d#1
-dEQP-GLES3.functional.texture.units.8_units.only_2d#2
-dEQP-GLES3.functional.texture.units.8_units.only_2d#3
-dEQP-GLES3.functional.texture.units.8_units.only_2d#4
-dEQP-GLES3.functional.texture.units.8_units.only_2d#5
-dEQP-GLES3.functional.texture.units.8_units.only_2d#6
-dEQP-GLES3.functional.texture.units.8_units.only_2d#7
-dEQP-GLES3.functional.texture.units.8_units.only_2d#8
-dEQP-GLES3.functional.texture.units.8_units.only_2d#9
-dEQP-GLES3.functional.texture.units.8_units.only_cube#0
-dEQP-GLES3.functional.texture.units.8_units.only_cube#1
-dEQP-GLES3.functional.texture.units.8_units.only_cube#2
-dEQP-GLES3.functional.texture.units.8_units.only_cube#3
-dEQP-GLES3.functional.texture.units.8_units.only_cube#4
-dEQP-GLES3.functional.texture.units.8_units.only_cube#5
-dEQP-GLES3.functional.texture.units.8_units.only_cube#6
-dEQP-GLES3.functional.texture.units.8_units.only_cube#7
-dEQP-GLES3.functional.texture.units.8_units.only_cube#8
-dEQP-GLES3.functional.texture.units.8_units.only_cube#9
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#0
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#1
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#2
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#3
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#4
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#5
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#6
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#7
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#8
-dEQP-GLES3.functional.texture.units.8_units.only_2d_array#9
-dEQP-GLES3.functional.texture.units.8_units.only_3d#0
-dEQP-GLES3.functional.texture.units.8_units.only_3d#1
-dEQP-GLES3.functional.texture.units.8_units.only_3d#2
-dEQP-GLES3.functional.texture.units.8_units.only_3d#3
-dEQP-GLES3.functional.texture.units.8_units.only_3d#4
-dEQP-GLES3.functional.texture.units.8_units.only_3d#5
-dEQP-GLES3.functional.texture.units.8_units.only_3d#6
-dEQP-GLES3.functional.texture.units.8_units.only_3d#7
-dEQP-GLES3.functional.texture.units.8_units.only_3d#8
-dEQP-GLES3.functional.texture.units.8_units.only_3d#9
-dEQP-GLES3.functional.texture.units.8_units.mixed#0
-dEQP-GLES3.functional.texture.units.8_units.mixed#1
-dEQP-GLES3.functional.texture.units.8_units.mixed#2
-dEQP-GLES3.functional.texture.units.8_units.mixed#3
-dEQP-GLES3.functional.texture.units.8_units.mixed#4
-dEQP-GLES3.functional.texture.units.8_units.mixed#5
-dEQP-GLES3.functional.texture.units.8_units.mixed#6
-dEQP-GLES3.functional.texture.units.8_units.mixed#7
-dEQP-GLES3.functional.texture.units.8_units.mixed#8
-dEQP-GLES3.functional.texture.units.8_units.mixed#9
-dEQP-GLES3.functional.texture.units.all_units.only_2d#0
-dEQP-GLES3.functional.texture.units.all_units.only_2d#1
-dEQP-GLES3.functional.texture.units.all_units.only_cube#0
-dEQP-GLES3.functional.texture.units.all_units.only_2d_array#0
-dEQP-GLES3.functional.texture.units.all_units.only_2d_array#1
-dEQP-GLES3.functional.texture.units.all_units.only_3d#0
-dEQP-GLES3.functional.texture.units.all_units.only_3d#1
-dEQP-GLES3.functional.texture.units.all_units.mixed#0
-dEQP-GLES3.functional.texture.units.all_units.mixed#8
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#4x4
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#5x4
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#5x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#6x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#6x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x8
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x8
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x10
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#12x10
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#12x12
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_ldr#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#4x4
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#5x4
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#5x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#6x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#6x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#8x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#8x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#8x8
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#10x5
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#10x6
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#10x8
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#10x10
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#12x10
-dEQP-GLES3.functional.texture.compressed.astc.void_extent_hdr#12x12
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#4x4
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#5x4
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#5x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#6x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#6x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x8
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x8
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x10
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#12x10
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#12x12
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_grid#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#4x4
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#5x4
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#5x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#6x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#6x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x8
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x5
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x6
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x8
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x10
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#12x10
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#12x12
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.weight_ise#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#4x4
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#5x4
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#5x5
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#6x5
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#6x6
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x5
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x6
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x8
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x5
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x6
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x8
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x10
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#12x10
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#12x12
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.partition_pattern_index#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#4x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#5x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#5x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#6x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#6x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#12x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#12x12
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_ldr#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#4x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#5x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#5x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#6x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#6x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#8x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#8x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#8x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#10x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#10x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#10x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#10x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#12x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_not_15#12x12
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#4x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#5x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#5x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#6x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#6x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#8x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#8x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#8x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#10x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#10x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#10x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#10x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#12x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_value_hdr_cem_15#12x12
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#4x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#5x4
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#5x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#6x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#6x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x5
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x6
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x8
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#12x10
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#12x12
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.endpoint_ise#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#4x4
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#5x4
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#5x5
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#6x5
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#6x6
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x5
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x6
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x8
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x5
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x6
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x8
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x10
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#12x10
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#12x12
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.color_component_selector#12x12_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#4x4
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#5x4
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#5x5
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#6x5
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#6x6
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x5
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x6
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x8
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x5
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x6
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x8
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x10
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#12x10
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#12x12
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#4x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#5x4_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#5x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#6x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#6x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#8x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x5_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x6_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x8_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#10x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#12x10_srgb
-dEQP-GLES3.functional.texture.compressed.astc.block_size_remainder#12x12_srgb
-dEQP-GLES3.functional.fragment_ops.depth#cmp_always
-dEQP-GLES3.functional.fragment_ops.depth#cmp_never
-dEQP-GLES3.functional.fragment_ops.depth#cmp_equal
-dEQP-GLES3.functional.fragment_ops.depth#cmp_not_equal
-dEQP-GLES3.functional.fragment_ops.depth#cmp_less_than
-dEQP-GLES3.functional.fragment_ops.depth#cmp_less_or_equal
-dEQP-GLES3.functional.fragment_ops.depth#cmp_greater_than
-dEQP-GLES3.functional.fragment_ops.depth#cmp_greater_or_equal
-dEQP-GLES3.functional.fragment_ops.stencil#clear
-dEQP-GLES3.functional.fragment_ops.stencil#incr_stencil_fail
-dEQP-GLES3.functional.fragment_ops.stencil#decr_stencil_fail
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_equal
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_less_than
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_less_or_equal
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_greater_than
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_greater_or_equal
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_mask_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_never_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_always_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_less_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_lequal_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_equal_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_gequal_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_greater_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#stencil_notequal_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_never
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_always
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_less
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_lequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_equal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_gequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_greater
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_depth_notequal
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_depth_funcs#no_stencil_no_depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#keep_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#zero_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#replace_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#invert_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#incr_wrap_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_keep_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_zero_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_replace_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_invert_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_incr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_keep
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_zero
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_replace
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_incr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_decr
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_invert
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_incr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.stencil_ops#decr_wrap_decr_wrap_decr_wrap
-dEQP-GLES3.functional.fragment_ops.depth_stencil.write_mask#depth
-dEQP-GLES3.functional.fragment_ops.depth_stencil.write_mask#stencil
-dEQP-GLES3.functional.fragment_ops.depth_stencil.write_mask#both
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#0
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#1
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#2
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#3
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#4
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#6
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#7
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#8
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#9
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#10
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#12
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#13
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#14
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#15
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#16
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#17
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#18
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#19
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#21
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#22
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#23
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#add_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#subtract_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.src#src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_func_alpha_func.dst#src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#add_add
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#add_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#add_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#add_min
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#add_max
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#subtract_add
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#subtract_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#subtract_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#subtract_min
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#subtract_max
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#reverse_subtract_add
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#reverse_subtract_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#reverse_subtract_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#reverse_subtract_min
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#reverse_subtract_max
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#min_add
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#min_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#min_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#min_min
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#min_max
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#max_add
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#max_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#max_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#max_min
-dEQP-GLES3.functional.fragment_ops.blend.default_framebuffer.rgb_equation_alpha_equation#max_max
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#add_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#subtract_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.equation_src_func_dst_func#reverse_subtract_src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.src#src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#zero_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_src_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_dst_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_color_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#one_minus_constant_alpha_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_zero
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_src_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_dst_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_src_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_dst_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_constant_color
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_one_minus_constant_alpha
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_func_alpha_func.dst#src_alpha_saturate_src_alpha_saturate
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#add_add
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#add_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#add_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#add_min
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#add_max
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#subtract_add
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#subtract_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#subtract_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#subtract_min
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#subtract_max
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#reverse_subtract_add
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#reverse_subtract_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#reverse_subtract_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#reverse_subtract_min
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#reverse_subtract_max
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#min_add
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#min_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#min_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#min_min
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#min_max
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#max_add
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#max_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#max_reverse_subtract
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#max_min
-dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.rgb_equation_alpha_equation#max_max
-dEQP-GLES3.functional.fragment_ops.random#0
-dEQP-GLES3.functional.fragment_ops.random#1
-dEQP-GLES3.functional.fragment_ops.random#2
-dEQP-GLES3.functional.fragment_ops.random#3
-dEQP-GLES3.functional.fragment_ops.random#4
-dEQP-GLES3.functional.fragment_ops.random#5
-dEQP-GLES3.functional.fragment_ops.random#6
-dEQP-GLES3.functional.fragment_ops.random#7
-dEQP-GLES3.functional.fragment_ops.random#8
-dEQP-GLES3.functional.fragment_ops.random#9
-dEQP-GLES3.functional.fragment_ops.random#10
-dEQP-GLES3.functional.fragment_ops.random#11
-dEQP-GLES3.functional.fragment_ops.random#12
-dEQP-GLES3.functional.fragment_ops.random#13
-dEQP-GLES3.functional.fragment_ops.random#14
-dEQP-GLES3.functional.fragment_ops.random#15
-dEQP-GLES3.functional.fragment_ops.random#16
-dEQP-GLES3.functional.fragment_ops.random#17
-dEQP-GLES3.functional.fragment_ops.random#18
-dEQP-GLES3.functional.fragment_ops.random#20
-dEQP-GLES3.functional.fragment_ops.random#21
-dEQP-GLES3.functional.fragment_ops.random#23
-dEQP-GLES3.functional.fragment_ops.random#24
-dEQP-GLES3.functional.fragment_ops.random#25
-dEQP-GLES3.functional.fragment_ops.random#26
-dEQP-GLES3.functional.fragment_ops.random#28
-dEQP-GLES3.functional.fragment_ops.random#29
-dEQP-GLES3.functional.fragment_ops.random#30
-dEQP-GLES3.functional.fragment_ops.random#31
-dEQP-GLES3.functional.fragment_ops.random#32
-dEQP-GLES3.functional.fragment_ops.random#33
-dEQP-GLES3.functional.fragment_ops.random#34
-dEQP-GLES3.functional.fragment_ops.random#35
-dEQP-GLES3.functional.fragment_ops.random#36
-dEQP-GLES3.functional.fragment_ops.random#37
-dEQP-GLES3.functional.fragment_ops.random#38
-dEQP-GLES3.functional.fragment_ops.random#39
-dEQP-GLES3.functional.fragment_ops.random#40
-dEQP-GLES3.functional.fragment_ops.random#41
-dEQP-GLES3.functional.fragment_ops.random#42
-dEQP-GLES3.functional.fragment_ops.random#43
-dEQP-GLES3.functional.fragment_ops.random#44
-dEQP-GLES3.functional.fragment_ops.random#45
-dEQP-GLES3.functional.fragment_ops.random#46
-dEQP-GLES3.functional.fragment_ops.random#47
-dEQP-GLES3.functional.fragment_ops.random#49
-dEQP-GLES3.functional.fragment_ops.random#50
-dEQP-GLES3.functional.fragment_ops.random#51
-dEQP-GLES3.functional.fragment_ops.random#52
-dEQP-GLES3.functional.fragment_ops.random#53
-dEQP-GLES3.functional.fragment_ops.random#54
-dEQP-GLES3.functional.fragment_ops.random#55
-dEQP-GLES3.functional.fragment_ops.random#56
-dEQP-GLES3.functional.fragment_ops.random#57
-dEQP-GLES3.functional.fragment_ops.random#58
-dEQP-GLES3.functional.fragment_ops.random#60
-dEQP-GLES3.functional.fragment_ops.random#62
-dEQP-GLES3.functional.fragment_ops.random#63
-dEQP-GLES3.functional.fragment_ops.random#64
-dEQP-GLES3.functional.fragment_ops.random#65
-dEQP-GLES3.functional.fragment_ops.random#66
-dEQP-GLES3.functional.fragment_ops.random#67
-dEQP-GLES3.functional.fragment_ops.random#68
-dEQP-GLES3.functional.fragment_ops.random#69
-dEQP-GLES3.functional.fragment_ops.random#70
-dEQP-GLES3.functional.fragment_ops.random#71
-dEQP-GLES3.functional.fragment_ops.random#72
-dEQP-GLES3.functional.fragment_ops.random#73
-dEQP-GLES3.functional.fragment_ops.random#75
-dEQP-GLES3.functional.fragment_ops.random#76
-dEQP-GLES3.functional.fragment_ops.random#77
-dEQP-GLES3.functional.fragment_ops.random#78
-dEQP-GLES3.functional.fragment_ops.random#79
-dEQP-GLES3.functional.fragment_ops.random#80
-dEQP-GLES3.functional.fragment_ops.random#81
-dEQP-GLES3.functional.fragment_ops.random#82
-dEQP-GLES3.functional.fragment_ops.random#83
-dEQP-GLES3.functional.fragment_ops.random#84
-dEQP-GLES3.functional.fragment_ops.random#85
-dEQP-GLES3.functional.fragment_ops.random#86
-dEQP-GLES3.functional.fragment_ops.random#87
-dEQP-GLES3.functional.fragment_ops.random#88
-dEQP-GLES3.functional.fragment_ops.random#89
-dEQP-GLES3.functional.fragment_ops.random#90
-dEQP-GLES3.functional.fragment_ops.random#91
-dEQP-GLES3.functional.fragment_ops.random#92
-dEQP-GLES3.functional.fragment_ops.random#93
-dEQP-GLES3.functional.fragment_ops.random#94
-dEQP-GLES3.functional.fragment_ops.random#95
-dEQP-GLES3.functional.fragment_ops.random#96
-dEQP-GLES3.functional.fragment_ops.random#97
-dEQP-GLES3.functional.fragment_ops.random#98
-dEQP-GLES3.functional.fragment_ops.random#99
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#0
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#1
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#2
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#3
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#4
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#5
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#6
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#8
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#9
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#10
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#11
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#12
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#13
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#14
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#15
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#16
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#17
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#18
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#19
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#21
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#22
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#23
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#24
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#26
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#28
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#29
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#30
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#31
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#32
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#33
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#34
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#35
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#36
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#37
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#38
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#39
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#41
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#42
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#43
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#45
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#46
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#47
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#48
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#49
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#50
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#51
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#52
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#53
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#55
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#56
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#57
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#58
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#59
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#60
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#61
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#62
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#63
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#64
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#65
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#66
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#67
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#68
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#69
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#70
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#71
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#72
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#74
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#75
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#76
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#77
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#79
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#81
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#83
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#85
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#86
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#87
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#88
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#89
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#90
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#91
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#92
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#93
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#94
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#95
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#96
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#97
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#98
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#99
-dEQP-GLES3.functional.fragment_ops.scissor#contained_quads
-dEQP-GLES3.functional.fragment_ops.scissor#partial_quads
-dEQP-GLES3.functional.fragment_ops.scissor#contained_tri
-dEQP-GLES3.functional.fragment_ops.scissor#enclosing_tri
-dEQP-GLES3.functional.fragment_ops.scissor#partial_tri
-dEQP-GLES3.functional.fragment_ops.scissor#outside_render_tri
-dEQP-GLES3.functional.fragment_ops.scissor#partial_lines
-dEQP-GLES3.functional.fragment_ops.scissor#contained_line
-dEQP-GLES3.functional.fragment_ops.scissor#partial_line
-dEQP-GLES3.functional.fragment_ops.scissor#outside_render_line
-dEQP-GLES3.functional.fragment_ops.scissor#contained_point
-dEQP-GLES3.functional.fragment_ops.scissor#partial_points
-dEQP-GLES3.functional.fragment_ops.scissor#outside_point
-dEQP-GLES3.functional.fragment_ops.scissor#outside_render_point
-dEQP-GLES3.functional.fragment_ops.scissor#clear_depth
-dEQP-GLES3.functional.fragment_ops.scissor#clear_stencil
-dEQP-GLES3.functional.fragment_ops.scissor#clear_color
-dEQP-GLES3.functional.fragment_ops.scissor#clear_fixed_buffer
-dEQP-GLES3.functional.fragment_ops.scissor#clear_int_buffer
-dEQP-GLES3.functional.fragment_ops.scissor#clear_uint_buffer
-dEQP-GLES3.functional.fragment_ops.scissor#clear_depth_buffer
-dEQP-GLES3.functional.fragment_ops.scissor#clear_stencil_buffer
-dEQP-GLES3.functional.fragment_ops.scissor#clear_depth_stencil_buffer
-dEQP-GLES3.functional.fbo.api#valid_tex2d_attachments
-dEQP-GLES3.functional.fbo.api#valid_texcube_attachments
-dEQP-GLES3.functional.fbo.api#valid_rbo_attachments
-dEQP-GLES3.functional.fbo.api#attach_to_default_fbo
-dEQP-GLES3.functional.fbo.api#invalid_tex2d_attachments
-dEQP-GLES3.functional.fbo.api#invalid_texcube_attachments
-dEQP-GLES3.functional.fbo.api#invalid_rbo_attachments
-dEQP-GLES3.functional.fbo.api#attach_names
-dEQP-GLES3.functional.fbo.api#attachment_query_tex2d
-dEQP-GLES3.functional.fbo.api#delete_tex_2d_attached_to_bound_fbo
-dEQP-GLES3.functional.fbo.api#delete_tex_cube_attached_to_bound_fbo
-dEQP-GLES3.functional.fbo.api#delete_rbo_attached_to_bound_fbo
-dEQP-GLES3.functional.fbo.api#delete_tex_2d_attached_to_not_bound_fbo
-dEQP-GLES3.functional.fbo.api#delete_tex_cube_attached_to_not_bound_fbo
-dEQP-GLES3.functional.fbo.api#delete_rbo_attached_to_not_bound_fbo
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb10
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba4
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb5_a1
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb10_a2
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component16
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component24
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r16f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r32f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg16f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg32f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r8i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r16i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r32i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg8i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg16i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg32i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba32f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba16f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#srgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#srgb8_alpha8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth_component32f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#stencil_index8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb565
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba32i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba16i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgba8i
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rgb10_a2ui
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgb_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgba_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rgb10
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#srgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#stencil_index8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgb_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgba_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rgb10
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component16
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component24
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#srgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component32f
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb5_a1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb10_a2
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component16
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component24
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#srgb8_alpha8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth_component32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#stencil_index8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb565
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgba8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb10_a2ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb10
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb5_a1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb10_a2
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component16
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component24
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rg32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#srgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#srgb8_alpha8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth_component32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb565
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgba8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.stencil#rgb10_a2ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb_unsigned_short_5_6_5
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb_unsigned_int_10f_11f_11f_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba_unsigned_short_4_4_4_4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba_unsigned_short_5_5_5_1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba_unsigned_int_2_10_10_10_rev
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb10
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba4
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb5_a1
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb10_a2
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component16
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component24
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component32
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rg32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb16f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth24_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#srgb_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#srgb_alpha_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#srgb8_alpha8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth_component32f
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#depth32f_stencil8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb565
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgba8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#rgb10_a2ui
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_none_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_rbo_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#none_tex_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_none_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_rbo_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#rbo_tex_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_none_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_rbo_tex_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_none_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_none_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_none_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_rbo_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_rbo_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_rbo_tex
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_tex_none
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_tex_rbo
-dEQP-GLES3.functional.fbo.completeness.attachment_combinations#tex_tex_tex_tex
-dEQP-GLES3.functional.fbo.completeness.layer#2darr_1_0
-dEQP-GLES3.functional.fbo.completeness.layer#2darr_1_3
-dEQP-GLES3.functional.fbo.completeness.layer#2darr_4_3
-dEQP-GLES3.functional.fbo.completeness.layer#2darr_4_15
-dEQP-GLES3.functional.fbo.completeness.layer#3d_1_0
-dEQP-GLES3.functional.fbo.completeness.layer#3d_1_15
-dEQP-GLES3.functional.fbo.completeness.layer#3d_4_15
-dEQP-GLES3.functional.fbo.completeness.layer#3d_64_15
-dEQP-GLES3.functional.fbo.completeness.samples#rbo0_none_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo1_none_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo2_none_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo0_tex_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo2_rbo1_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo2_rbo2_none
-dEQP-GLES3.functional.fbo.completeness.samples#rbo0_rbo0_tex
-dEQP-GLES3.functional.fbo.completeness.samples#rbo1_rbo2_rbo0
-dEQP-GLES3.functional.fbo.completeness.samples#rbo2_rbo2_rbo0
-dEQP-GLES3.functional.fbo.completeness.samples#rbo1_rbo1_rbo1
-dEQP-GLES3.functional.fbo.completeness.samples#rbo1_rbo2_rbo4
-dEQP-GLES3.functional.fbo.render.stencil_clear#tex2d_rgba8_stencil_rbo_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.stencil_clear#tex2d_rgba8_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.stencil_clear#tex2d_rgba8_stencil_rbo_stencil_index8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_srgb8_alpha8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_srgb8_alpha8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_srgb8_alpha8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_srgb8_alpha8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb10_a2
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb10_a2_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb10_a2
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb10_a2_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba4
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba4_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgba4_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba4
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba4_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgba4_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb5_a1
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb5_a1_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb5_a1
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb5_a1_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb565
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb565_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rgb565_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb565
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb565_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rgb565_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r11f_g11f_b10f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r11f_g11f_b10f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r8_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba32f
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba32i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba32i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba32ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba32ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba16f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_tex2d_depth_component32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_rbo_depth_component32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_tex2d_depth_component24
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_rbo_depth_component24
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_tex2d_depth_component16
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_rbo_depth_component16
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_stencil_tex2d_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_stencil_rbo_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_stencil_tex2d_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16f_stencil_rbo_stencil_index8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba16i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba16ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba16ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb16f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_tex2d_depth_component32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_rbo_depth_component32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_tex2d_depth_component24
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_rbo_depth_component24
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_tex2d_depth_component16
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_rbo_depth_component16
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8_stencil_rbo_stencil_index8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba8i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba8ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba8ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_srgb8_alpha8
-dEQP-GLES3.functional.fbo.render.resize#rbo_srgb8_alpha8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb10_a2
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgb10_a2
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb10_a2ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgb10_a2ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgba4
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgba4
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb5_a1
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgb5_a1
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb8
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgb8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rgb565
-dEQP-GLES3.functional.fbo.render.resize#rbo_rgb565
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.render.resize#rbo_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg32f
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg32i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg32i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg32ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg32ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg16f
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg16f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg16i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg16i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg16ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg16ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg8
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg8i
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg8i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_rg8ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_rg8ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r32f
-dEQP-GLES3.functional.fbo.render.resize#rbo_r32f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r32i
-dEQP-GLES3.functional.fbo.render.resize#rbo_r32i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r32ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_r32ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r16f
-dEQP-GLES3.functional.fbo.render.resize#rbo_r16f
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r16i
-dEQP-GLES3.functional.fbo.render.resize#rbo_r16i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r16ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_r16ui
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r8
-dEQP-GLES3.functional.fbo.render.resize#rbo_r8
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r8i
-dEQP-GLES3.functional.fbo.render.resize#rbo_r8i
-dEQP-GLES3.functional.fbo.render.resize#tex2d_r8ui
-dEQP-GLES3.functional.fbo.render.resize#rbo_r8ui
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgba4_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgba4_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgb8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rgb565_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rgb565_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_rg8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_rg8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r32f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r32i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r32ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r16i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r16ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r8i_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#tex2d_r8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_color#rbo_r8ui_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_tex2d_depth_component32f
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_rbo_depth_component32f
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_tex2d_depth_component24
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_rbo_depth_component24
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_tex2d_depth_component16
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_rbo_depth_component16
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.recreate_depth_stencil#tex2d_rgba8_stencil_rbo_stencil_index8
-dEQP-GLES3.functional.fbo.color.clear#rgba32i
-dEQP-GLES3.functional.fbo.color.clear#rgba32ui
-dEQP-GLES3.functional.fbo.color.clear#rgba16i
-dEQP-GLES3.functional.fbo.color.clear#rgba16ui
-dEQP-GLES3.functional.fbo.color.clear#rgba8
-dEQP-GLES3.functional.fbo.color.clear#rgba8i
-dEQP-GLES3.functional.fbo.color.clear#rgba8ui
-dEQP-GLES3.functional.fbo.color.clear#srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.clear#rgb10_a2
-dEQP-GLES3.functional.fbo.color.clear#rgb10_a2ui
-dEQP-GLES3.functional.fbo.color.clear#rgba4
-dEQP-GLES3.functional.fbo.color.clear#rgb5_a1
-dEQP-GLES3.functional.fbo.color.clear#rgb8
-dEQP-GLES3.functional.fbo.color.clear#rgb565
-dEQP-GLES3.functional.fbo.color.clear#rg32i
-dEQP-GLES3.functional.fbo.color.clear#rg32ui
-dEQP-GLES3.functional.fbo.color.clear#rg16i
-dEQP-GLES3.functional.fbo.color.clear#rg16ui
-dEQP-GLES3.functional.fbo.color.clear#rg8
-dEQP-GLES3.functional.fbo.color.clear#rg8i
-dEQP-GLES3.functional.fbo.color.clear#rg8ui
-dEQP-GLES3.functional.fbo.color.clear#r32i
-dEQP-GLES3.functional.fbo.color.clear#r32ui
-dEQP-GLES3.functional.fbo.color.clear#r16i
-dEQP-GLES3.functional.fbo.color.clear#r16ui
-dEQP-GLES3.functional.fbo.color.clear#r8
-dEQP-GLES3.functional.fbo.color.clear#r8i
-dEQP-GLES3.functional.fbo.color.clear#r8ui
-dEQP-GLES3.functional.fbo.color.clear#rgba32f
-dEQP-GLES3.functional.fbo.color.clear#rgba16f
-dEQP-GLES3.functional.fbo.color.clear#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.color.clear#rg32f
-dEQP-GLES3.functional.fbo.color.clear#rg16f
-dEQP-GLES3.functional.fbo.color.clear#r32f
-dEQP-GLES3.functional.fbo.color.clear#r16f
-dEQP-GLES3.functional.fbo.color.tex2d#rgba32i
-dEQP-GLES3.functional.fbo.color.tex2d#rgba32ui
-dEQP-GLES3.functional.fbo.color.tex2d#rgba16i
-dEQP-GLES3.functional.fbo.color.tex2d#rgba16ui
-dEQP-GLES3.functional.fbo.color.tex2d#rgba8
-dEQP-GLES3.functional.fbo.color.tex2d#rgba8i
-dEQP-GLES3.functional.fbo.color.tex2d#rgba8ui
-dEQP-GLES3.functional.fbo.color.tex2d#srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.tex2d#rgb10_a2
-dEQP-GLES3.functional.fbo.color.tex2d#rgb10_a2ui
-dEQP-GLES3.functional.fbo.color.tex2d#rgba4
-dEQP-GLES3.functional.fbo.color.tex2d#rgb5_a1
-dEQP-GLES3.functional.fbo.color.tex2d#rgb8
-dEQP-GLES3.functional.fbo.color.tex2d#rgb565
-dEQP-GLES3.functional.fbo.color.tex2d#rg32i
-dEQP-GLES3.functional.fbo.color.tex2d#rg32ui
-dEQP-GLES3.functional.fbo.color.tex2d#rg16i
-dEQP-GLES3.functional.fbo.color.tex2d#rg16ui
-dEQP-GLES3.functional.fbo.color.tex2d#rg8
-dEQP-GLES3.functional.fbo.color.tex2d#rg8i
-dEQP-GLES3.functional.fbo.color.tex2d#rg8ui
-dEQP-GLES3.functional.fbo.color.tex2d#r32i
-dEQP-GLES3.functional.fbo.color.tex2d#r32ui
-dEQP-GLES3.functional.fbo.color.tex2d#r16i
-dEQP-GLES3.functional.fbo.color.tex2d#r16ui
-dEQP-GLES3.functional.fbo.color.tex2d#r8
-dEQP-GLES3.functional.fbo.color.tex2d#r8i
-dEQP-GLES3.functional.fbo.color.tex2d#r8ui
-dEQP-GLES3.functional.fbo.color.tex2d#rgba32f
-dEQP-GLES3.functional.fbo.color.tex2d#rgba16f
-dEQP-GLES3.functional.fbo.color.tex2d#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.color.tex2d#rg32f
-dEQP-GLES3.functional.fbo.color.tex2d#rg16f
-dEQP-GLES3.functional.fbo.color.tex2d#r32f
-dEQP-GLES3.functional.fbo.color.tex2d#r16f
-dEQP-GLES3.functional.fbo.color.tex2d#rgb16f
-dEQP-GLES3.functional.fbo.color.texcube#rgba32i
-dEQP-GLES3.functional.fbo.color.texcube#rgba32ui
-dEQP-GLES3.functional.fbo.color.texcube#rgba16i
-dEQP-GLES3.functional.fbo.color.texcube#rgba16ui
-dEQP-GLES3.functional.fbo.color.texcube#rgba8
-dEQP-GLES3.functional.fbo.color.texcube#rgba8i
-dEQP-GLES3.functional.fbo.color.texcube#rgba8ui
-dEQP-GLES3.functional.fbo.color.texcube#srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.texcube#rgb10_a2
-dEQP-GLES3.functional.fbo.color.texcube#rgb10_a2ui
-dEQP-GLES3.functional.fbo.color.texcube#rgba4
-dEQP-GLES3.functional.fbo.color.texcube#rgb5_a1
-dEQP-GLES3.functional.fbo.color.texcube#rgb8
-dEQP-GLES3.functional.fbo.color.texcube#rgb565
-dEQP-GLES3.functional.fbo.color.texcube#rg32i
-dEQP-GLES3.functional.fbo.color.texcube#rg32ui
-dEQP-GLES3.functional.fbo.color.texcube#rg16i
-dEQP-GLES3.functional.fbo.color.texcube#rg16ui
-dEQP-GLES3.functional.fbo.color.texcube#rg8
-dEQP-GLES3.functional.fbo.color.texcube#rg8i
-dEQP-GLES3.functional.fbo.color.texcube#rg8ui
-dEQP-GLES3.functional.fbo.color.texcube#r32i
-dEQP-GLES3.functional.fbo.color.texcube#r32ui
-dEQP-GLES3.functional.fbo.color.texcube#r16i
-dEQP-GLES3.functional.fbo.color.texcube#r16ui
-dEQP-GLES3.functional.fbo.color.texcube#r8
-dEQP-GLES3.functional.fbo.color.texcube#r8i
-dEQP-GLES3.functional.fbo.color.texcube#r8ui
-dEQP-GLES3.functional.fbo.color.texcube#rgba32f
-dEQP-GLES3.functional.fbo.color.texcube#rgba16f
-dEQP-GLES3.functional.fbo.color.texcube#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.color.texcube#rg32f
-dEQP-GLES3.functional.fbo.color.texcube#rg16f
-dEQP-GLES3.functional.fbo.color.texcube#r32f
-dEQP-GLES3.functional.fbo.color.texcube#r16f
-dEQP-GLES3.functional.fbo.color.texcube#rgb16f
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba32i
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba32ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba16i
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba16ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba8
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba8i
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba8ui
-dEQP-GLES3.functional.fbo.color.tex2darray#srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb10_a2
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb10_a2ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba4
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb5_a1
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb8
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb565
-dEQP-GLES3.functional.fbo.color.tex2darray#rg32i
-dEQP-GLES3.functional.fbo.color.tex2darray#rg32ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rg16i
-dEQP-GLES3.functional.fbo.color.tex2darray#rg16ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rg8
-dEQP-GLES3.functional.fbo.color.tex2darray#rg8i
-dEQP-GLES3.functional.fbo.color.tex2darray#rg8ui
-dEQP-GLES3.functional.fbo.color.tex2darray#r32i
-dEQP-GLES3.functional.fbo.color.tex2darray#r32ui
-dEQP-GLES3.functional.fbo.color.tex2darray#r16i
-dEQP-GLES3.functional.fbo.color.tex2darray#r16ui
-dEQP-GLES3.functional.fbo.color.tex2darray#r8
-dEQP-GLES3.functional.fbo.color.tex2darray#r8i
-dEQP-GLES3.functional.fbo.color.tex2darray#r8ui
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba32f
-dEQP-GLES3.functional.fbo.color.tex2darray#rgba16f
-dEQP-GLES3.functional.fbo.color.tex2darray#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.color.tex2darray#rg32f
-dEQP-GLES3.functional.fbo.color.tex2darray#rg16f
-dEQP-GLES3.functional.fbo.color.tex2darray#r32f
-dEQP-GLES3.functional.fbo.color.tex2darray#r16f
-dEQP-GLES3.functional.fbo.color.tex2darray#rgb16f
-dEQP-GLES3.functional.fbo.color.tex3d#rgba32i
-dEQP-GLES3.functional.fbo.color.tex3d#rgba32ui
-dEQP-GLES3.functional.fbo.color.tex3d#rgba16i
-dEQP-GLES3.functional.fbo.color.tex3d#rgba16ui
-dEQP-GLES3.functional.fbo.color.tex3d#rgba8
-dEQP-GLES3.functional.fbo.color.tex3d#rgba8i
-dEQP-GLES3.functional.fbo.color.tex3d#rgba8ui
-dEQP-GLES3.functional.fbo.color.tex3d#srgb8_alpha8
-dEQP-GLES3.functional.fbo.color.tex3d#rgb10_a2
-dEQP-GLES3.functional.fbo.color.tex3d#rgb10_a2ui
-dEQP-GLES3.functional.fbo.color.tex3d#rgba4
-dEQP-GLES3.functional.fbo.color.tex3d#rgb5_a1
-dEQP-GLES3.functional.fbo.color.tex3d#rgb8
-dEQP-GLES3.functional.fbo.color.tex3d#rgb565
-dEQP-GLES3.functional.fbo.color.tex3d#rg32i
-dEQP-GLES3.functional.fbo.color.tex3d#rg32ui
-dEQP-GLES3.functional.fbo.color.tex3d#rg16i
-dEQP-GLES3.functional.fbo.color.tex3d#rg16ui
-dEQP-GLES3.functional.fbo.color.tex3d#rg8
-dEQP-GLES3.functional.fbo.color.tex3d#rg8i
-dEQP-GLES3.functional.fbo.color.tex3d#rg8ui
-dEQP-GLES3.functional.fbo.color.tex3d#r32i
-dEQP-GLES3.functional.fbo.color.tex3d#r32ui
-dEQP-GLES3.functional.fbo.color.tex3d#r16i
-dEQP-GLES3.functional.fbo.color.tex3d#r16ui
-dEQP-GLES3.functional.fbo.color.tex3d#r8
-dEQP-GLES3.functional.fbo.color.tex3d#r8i
-dEQP-GLES3.functional.fbo.color.tex3d#r8ui
-dEQP-GLES3.functional.fbo.color.tex3d#rgba32f
-dEQP-GLES3.functional.fbo.color.tex3d#rgba16f
-dEQP-GLES3.functional.fbo.color.tex3d#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.color.tex3d#rg32f
-dEQP-GLES3.functional.fbo.color.tex3d#rg16f
-dEQP-GLES3.functional.fbo.color.tex3d#r32f
-dEQP-GLES3.functional.fbo.color.tex3d#r16f
-dEQP-GLES3.functional.fbo.color.tex3d#rgb16f
-dEQP-GLES3.functional.fbo.color.blend#rgba8_src_over
-dEQP-GLES3.functional.fbo.color.blend#srgb8_alpha8_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgb10_a2_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgba4_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgb5_a1_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgb8_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgb565_src_over
-dEQP-GLES3.functional.fbo.color.blend#rg8_src_over
-dEQP-GLES3.functional.fbo.color.blend#r8_src_over
-dEQP-GLES3.functional.fbo.color.blend#rgba16f_src_over
-dEQP-GLES3.functional.fbo.color.blend#r11f_g11f_b10f_src_over
-dEQP-GLES3.functional.fbo.depth.basic#depth_component32f
-dEQP-GLES3.functional.fbo.depth.basic#depth_component24
-dEQP-GLES3.functional.fbo.depth.basic#depth_component16
-dEQP-GLES3.functional.fbo.depth.basic#depth32f_stencil8
-dEQP-GLES3.functional.fbo.depth.basic#depth24_stencil8
-dEQP-GLES3.functional.fbo.depth.depth_write_clamp#depth_component32f
-dEQP-GLES3.functional.fbo.depth.depth_write_clamp#depth_component24
-dEQP-GLES3.functional.fbo.depth.depth_write_clamp#depth_component16
-dEQP-GLES3.functional.fbo.depth.depth_write_clamp#depth32f_stencil8
-dEQP-GLES3.functional.fbo.depth.depth_write_clamp#depth24_stencil8
-dEQP-GLES3.functional.fbo.depth.depth_test_clamp#depth_component32f
-dEQP-GLES3.functional.fbo.depth.depth_test_clamp#depth_component24
-dEQP-GLES3.functional.fbo.depth.depth_test_clamp#depth_component16
-dEQP-GLES3.functional.fbo.depth.depth_test_clamp#depth32f_stencil8
-dEQP-GLES3.functional.fbo.depth.depth_test_clamp#depth24_stencil8
-dEQP-GLES3.functional.fbo.stencil.basic#depth32f_stencil8
-dEQP-GLES3.functional.fbo.stencil.basic#depth32f_stencil8_depth
-dEQP-GLES3.functional.fbo.stencil.basic#depth24_stencil8
-dEQP-GLES3.functional.fbo.stencil.basic#depth24_stencil8_depth
-dEQP-GLES3.functional.fbo.stencil.basic#stencil_index8
-dEQP-GLES3.functional.fbo.stencil.attach#depth_only
-dEQP-GLES3.functional.fbo.stencil.attach#stencil_only
-dEQP-GLES3.functional.fbo.stencil.attach#depth_stencil_separate
-dEQP-GLES3.functional.fbo.stencil.attach#depth_stencil_attachment
-dEQP-GLES3.functional.fbo.blit.rect#basic_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#basic_reverse_src_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#scale_reverse_src_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#nearest_consistency_mag_reverse_dst_y
-dEQP-GLES3.functional.fbo.blit.rect#nearest_consistency_mag_reverse_src_dst_y
-dEQP-GLES3.functional.fbo.blit.rect#nearest_consistency_min_reverse_src_y
-dEQP-GLES3.functional.fbo.blit.rect#nearest_consistency_min_reverse_dst_y
-dEQP-GLES3.functional.fbo.blit.rect#nearest_consistency_min_reverse_src_dst_y
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba8ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#srgb8_alpha8_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgb10_a2ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba4_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb5_a1_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb8_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgb565_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg32ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg16ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#rg8ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#r32i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r32ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#r16i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r16ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#r8_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rgba32i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rgba16i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rgba8i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rg32i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rg16i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_rg8i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_r32i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_r16i
-dEQP-GLES3.functional.fbo.blit.conversion#r8i_to_r8i
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rgba32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rgba16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rgba8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rgb10_a2ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rg32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rg16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_rg8ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_r32ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_r16ui
-dEQP-GLES3.functional.fbo.blit.conversion#r8ui_to_r8ui
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba32f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rgba16f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#r11f_g11f_b10f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg32f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#rg16f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#r32f_to_r16f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgba8
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgb10_a2
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgba4
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgb5_a1
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgb8
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgb565
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rg8
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_r8
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgba32f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rgba16f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rg32f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_rg16f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_r32f
-dEQP-GLES3.functional.fbo.blit.conversion#r16f_to_r16f
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component32f_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component32f_scale
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component24_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component24_scale
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component16_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth_component16_scale
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth32f_stencil8_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth32f_stencil8_scale
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth32f_stencil8_depth_only
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth32f_stencil8_stencil_only
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth24_stencil8_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth24_stencil8_scale
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth24_stencil8_depth_only
-dEQP-GLES3.functional.fbo.blit.depth_stencil#depth24_stencil8_stencil_only
-dEQP-GLES3.functional.fbo.blit.depth_stencil#stencil_index8_basic
-dEQP-GLES3.functional.fbo.blit.depth_stencil#stencil_index8_scale
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgba8
-dEQP-GLES3.functional.fbo.msaa.2_samples#srgb8_alpha8
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgb10_a2
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgba4
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgb5_a1
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgb8
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgb565
-dEQP-GLES3.functional.fbo.msaa.2_samples#rg8
-dEQP-GLES3.functional.fbo.msaa.2_samples#r8
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgba32f
-dEQP-GLES3.functional.fbo.msaa.2_samples#rgba16f
-dEQP-GLES3.functional.fbo.msaa.2_samples#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.msaa.2_samples#rg32f
-dEQP-GLES3.functional.fbo.msaa.2_samples#rg16f
-dEQP-GLES3.functional.fbo.msaa.2_samples#r32f
-dEQP-GLES3.functional.fbo.msaa.2_samples#r16f
-dEQP-GLES3.functional.fbo.msaa.2_samples#depth_component32f
-dEQP-GLES3.functional.fbo.msaa.2_samples#depth_component24
-dEQP-GLES3.functional.fbo.msaa.2_samples#depth_component16
-dEQP-GLES3.functional.fbo.msaa.2_samples#depth32f_stencil8
-dEQP-GLES3.functional.fbo.msaa.2_samples#depth24_stencil8
-dEQP-GLES3.functional.fbo.msaa.2_samples#stencil_index8
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgba8
-dEQP-GLES3.functional.fbo.msaa.4_samples#srgb8_alpha8
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgb10_a2
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgba4
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgb5_a1
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgb8
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgb565
-dEQP-GLES3.functional.fbo.msaa.4_samples#rg8
-dEQP-GLES3.functional.fbo.msaa.4_samples#r8
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgba32f
-dEQP-GLES3.functional.fbo.msaa.4_samples#rgba16f
-dEQP-GLES3.functional.fbo.msaa.4_samples#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.msaa.4_samples#rg32f
-dEQP-GLES3.functional.fbo.msaa.4_samples#rg16f
-dEQP-GLES3.functional.fbo.msaa.4_samples#r32f
-dEQP-GLES3.functional.fbo.msaa.4_samples#r16f
-dEQP-GLES3.functional.fbo.msaa.4_samples#depth_component32f
-dEQP-GLES3.functional.fbo.msaa.4_samples#depth_component24
-dEQP-GLES3.functional.fbo.msaa.4_samples#depth_component16
-dEQP-GLES3.functional.fbo.msaa.4_samples#depth32f_stencil8
-dEQP-GLES3.functional.fbo.msaa.4_samples#depth24_stencil8
-dEQP-GLES3.functional.fbo.msaa.4_samples#stencil_index8
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgba8
-dEQP-GLES3.functional.fbo.msaa.8_samples#srgb8_alpha8
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgb10_a2
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgba4
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgb5_a1
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgb8
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgb565
-dEQP-GLES3.functional.fbo.msaa.8_samples#rg8
-dEQP-GLES3.functional.fbo.msaa.8_samples#r8
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgba32f
-dEQP-GLES3.functional.fbo.msaa.8_samples#rgba16f
-dEQP-GLES3.functional.fbo.msaa.8_samples#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.msaa.8_samples#rg32f
-dEQP-GLES3.functional.fbo.msaa.8_samples#rg16f
-dEQP-GLES3.functional.fbo.msaa.8_samples#r32f
-dEQP-GLES3.functional.fbo.msaa.8_samples#r16f
-dEQP-GLES3.functional.fbo.msaa.8_samples#depth_component32f
-dEQP-GLES3.functional.fbo.msaa.8_samples#depth_component24
-dEQP-GLES3.functional.fbo.msaa.8_samples#depth_component16
-dEQP-GLES3.functional.fbo.msaa.8_samples#depth32f_stencil8
-dEQP-GLES3.functional.fbo.msaa.8_samples#depth24_stencil8
-dEQP-GLES3.functional.fbo.msaa.8_samples#stencil_index8
-dEQP-GLES3.functional.fbo.invalidate.default#render_none
-dEQP-GLES3.functional.fbo.invalidate.default#render_color
-dEQP-GLES3.functional.fbo.invalidate.default#render_depth
-dEQP-GLES3.functional.fbo.invalidate.default#render_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#render_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#render_all
-dEQP-GLES3.functional.fbo.invalidate.default#bind_color
-dEQP-GLES3.functional.fbo.invalidate.default#bind_depth
-dEQP-GLES3.functional.fbo.invalidate.default#bind_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#bind_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#bind_all
-dEQP-GLES3.functional.fbo.invalidate.default#sub_render_color
-dEQP-GLES3.functional.fbo.invalidate.default#sub_render_depth
-dEQP-GLES3.functional.fbo.invalidate.default#sub_render_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#sub_render_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#sub_render_all
-dEQP-GLES3.functional.fbo.invalidate.default#sub_bind_color
-dEQP-GLES3.functional.fbo.invalidate.default#sub_bind_depth
-dEQP-GLES3.functional.fbo.invalidate.default#sub_bind_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#sub_bind_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.default#sub_bind_all
-dEQP-GLES3.functional.fbo.invalidate.default#draw_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.default#draw_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.default#read_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.default#read_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.whole#render_none
-dEQP-GLES3.functional.fbo.invalidate.whole#render_color
-dEQP-GLES3.functional.fbo.invalidate.whole#render_depth
-dEQP-GLES3.functional.fbo.invalidate.whole#render_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#render_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#render_all
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_read_color
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_read_depth
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_read_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_read_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_read_color_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_msaa_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#render_none
-dEQP-GLES3.functional.fbo.invalidate.sub#render_color
-dEQP-GLES3.functional.fbo.invalidate.sub#render_depth
-dEQP-GLES3.functional.fbo.invalidate.sub#render_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#render_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#render_all
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_read_color
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_read_depth
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_read_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_read_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_read_color_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_depth
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_msaa_depth
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_msaa_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.format#rgba32i
-dEQP-GLES3.functional.fbo.invalidate.format#rgba32ui
-dEQP-GLES3.functional.fbo.invalidate.format#rgba16i
-dEQP-GLES3.functional.fbo.invalidate.format#rgba16ui
-dEQP-GLES3.functional.fbo.invalidate.format#rgba8
-dEQP-GLES3.functional.fbo.invalidate.format#rgba8i
-dEQP-GLES3.functional.fbo.invalidate.format#rgba8ui
-dEQP-GLES3.functional.fbo.invalidate.format#srgb8_alpha8
-dEQP-GLES3.functional.fbo.invalidate.format#rgb10_a2
-dEQP-GLES3.functional.fbo.invalidate.format#rgb10_a2ui
-dEQP-GLES3.functional.fbo.invalidate.format#rgba4
-dEQP-GLES3.functional.fbo.invalidate.format#rgb5_a1
-dEQP-GLES3.functional.fbo.invalidate.format#rgb8
-dEQP-GLES3.functional.fbo.invalidate.format#rgb565
-dEQP-GLES3.functional.fbo.invalidate.format#rg32i
-dEQP-GLES3.functional.fbo.invalidate.format#rg32ui
-dEQP-GLES3.functional.fbo.invalidate.format#rg16i
-dEQP-GLES3.functional.fbo.invalidate.format#rg16ui
-dEQP-GLES3.functional.fbo.invalidate.format#rg8
-dEQP-GLES3.functional.fbo.invalidate.format#rg8i
-dEQP-GLES3.functional.fbo.invalidate.format#rg8ui
-dEQP-GLES3.functional.fbo.invalidate.format#r32i
-dEQP-GLES3.functional.fbo.invalidate.format#r32ui
-dEQP-GLES3.functional.fbo.invalidate.format#r16i
-dEQP-GLES3.functional.fbo.invalidate.format#r16ui
-dEQP-GLES3.functional.fbo.invalidate.format#r8
-dEQP-GLES3.functional.fbo.invalidate.format#r8i
-dEQP-GLES3.functional.fbo.invalidate.format#r8ui
-dEQP-GLES3.functional.fbo.invalidate.format#rgba32f
-dEQP-GLES3.functional.fbo.invalidate.format#rgba16f
-dEQP-GLES3.functional.fbo.invalidate.format#r11f_g11f_b10f
-dEQP-GLES3.functional.fbo.invalidate.format#rg32f
-dEQP-GLES3.functional.fbo.invalidate.format#rg16f
-dEQP-GLES3.functional.fbo.invalidate.format#r32f
-dEQP-GLES3.functional.fbo.invalidate.format#r16f
-dEQP-GLES3.functional.fbo.invalidate.format#depth_component32f
-dEQP-GLES3.functional.fbo.invalidate.format#depth_component24
-dEQP-GLES3.functional.fbo.invalidate.format#depth_component16
-dEQP-GLES3.functional.fbo.invalidate.format#depth32f_stencil8
-dEQP-GLES3.functional.fbo.invalidate.format#depth24_stencil8
-dEQP-GLES3.functional.fbo.invalidate.format#stencil_index8
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_read_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_read_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_read_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_draw_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_draw_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#framebuffer_draw_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_read_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_read_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_read_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_draw_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_draw_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#read_framebuffer_draw_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_read_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_read_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_read_framebuffer_all
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_draw_framebuffer_color
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_draw_framebuffer_depth_stencil
-dEQP-GLES3.functional.fbo.invalidate.target#draw_framebuffer_draw_framebuffer_all
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride8_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride8_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride12_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride12_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#user_ptr_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride8_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride8_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride12_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride12_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.float#buffer_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride4_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride4_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride6_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride6_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride8_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride8_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#user_ptr_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride4_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride4_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride6_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride6_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride8_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride8_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.short#buffer_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride2_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride2_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride3_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride3_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride4_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride4_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#user_ptr_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride2_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride2_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride3_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride3_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride4_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride4_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.byte#buffer_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride8_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride8_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride12_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride12_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#user_ptr_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride8_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride8_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride12_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride12_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.fixed#buffer_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride17_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride17_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#user_ptr_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#buffer_stride16_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#buffer_stride32_components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#buffer_stride16_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.int2_10_10_10#buffer_stride32_components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.float#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.short#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.byte#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_short#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_byte#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.fixed#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.unsigned_int#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.half#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.usigned_int2_10_10_10#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.usigned_int2_10_10_10#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10#components4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10#components4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.float#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components2_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components3_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.short#components4_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components2_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components3_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.byte#components4_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components2_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components3_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_short#components4_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components2_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components3_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_byte#components4_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.fixed#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components2_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components3_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.unsigned_int#components4_uvec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components2_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components3_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int#components4_ivec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components2_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components3_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.half#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.usigned_int2_10_10_10#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec3_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec3_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.output_types.int2_10_10_10#components4_vec4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_draw#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_draw#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_draw#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_copy#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_copy#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_copy#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.static_read#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.stream_read#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride8_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_float_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride8_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_float_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride8_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_fixed_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride8_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_fixed_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride4_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_short_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride4_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_short_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride2_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride17_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_byte_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride0_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride2_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride17_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.usages.dynamic_read#stride32_byte_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset4_stride8_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset4_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset4_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset4_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset32_stride8_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset32_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset32_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.float#offset32_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride17_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset1_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride17_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset4_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride17_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset17_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride2_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride17_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.byte#offset32_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset4_stride4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset4_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset4_stride4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset4_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset32_stride4_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset32_stride32_quads1
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset32_stride4_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.offset.int2_10_10_10#offset32_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first6_offset16_stride8_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first24_offset16_stride8_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first6_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first24_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first6_offset16_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first24_offset16_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first6_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.float#first24_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset1_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset1_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride2_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride17_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride2_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride17_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first6_offset17_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.byte#first24_offset17_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first6_offset16_stride8_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first24_offset16_stride8_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first6_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first24_offset16_stride32_quads5
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first6_offset16_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first24_offset16_stride8_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first6_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.single_attribute.first.int2_10_10_10#first24_offset16_stride32_quads256
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#3
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#4
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#5
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#6
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#7
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.attribute_count#8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_user_ptr_user_ptr_buffer
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_user_ptr_buffer_user_ptr
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_user_ptr_buffer_buffer
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_buffer_user_ptr_user_ptr
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_buffer_user_ptr_buffer
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_buffer_buffer_user_ptr
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.storage#3_buffer_buffer_buffer
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_0_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_0_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_0_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_0_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_8_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_8_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_8_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_8_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_17_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_17_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_17_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_17_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_32_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_32_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_32_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_0_float2_32_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_0_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_0_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_0_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_0_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_8_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_8_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_8_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_8_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_17_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_17_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_17_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_17_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_32_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_32_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_32_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_8_float2_32_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_0_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_0_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_0_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_0_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_8_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_8_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_8_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_8_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_17_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_17_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_17_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_17_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_32_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_32_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_32_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_17_float2_32_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_0_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_0_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_0_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_0_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_8_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_8_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_8_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_8_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_17_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_17_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_17_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_17_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_32_float2_0
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_32_float2_8
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_32_float2_17
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.stride#3_float2_32_float2_32_float2_32
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_fixed2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_fixed2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_fixed2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_fixed2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_fixed2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_fixed2_vec2_unsigned_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_fixed2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_fixed2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_fixed2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_fixed2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_fixed2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_fixed2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_fixed2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_fixed2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_fixed2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_fixed2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_fixed2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_fixed2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_fixed2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_fixed2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_fixed2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_fixed2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_fixed2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_fixed2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_byte2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_byte2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_byte2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_short2_vec2_fixed2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_short2_vec2_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_short2_vec2_short2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2
-dEQP-GLES3.functional.vertex_arrays.multiple_attributes.input_types#3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bool_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#bvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#row_major_highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.shared#column_major_highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#row_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.packed#column_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_float_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_float_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_float_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_vec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_int_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_int_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_int_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bool_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#bvec4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#row_major_highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_lowp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_mediump_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_type.std140#column_major_highp_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#float_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#float_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#float_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#vec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#int_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#int_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#int_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bool_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#bvec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#row_major_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.shared#column_major_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.packed#float_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#float_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#int_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#int_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.packed#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#float_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#float_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#float_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#vec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#int_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#int_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#int_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#ivec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#uvec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bool_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bool_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bool_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#bvec4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat2x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat3x4_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x2_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#row_major_mat4x3_both
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.single_basic_array.std140#column_major_mat4x3_both
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_both
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#shared_instance_array_both
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#packed_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#packed_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_both
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.per_block_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#shared_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#shared_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#shared_instance_array_both
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#packed_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_struct.single_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#packed_fragment
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#std140_vertex
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#std140_fragment
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#std140_both
-dEQP-GLES3.functional.ubo.single_nested_struct.per_block_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_nested_struct.single_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.single_nested_struct.single_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#float_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#float_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#float_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#vec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#int_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#int_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#int_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#ivec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#uvec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bool_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bool_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bool_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#bvec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#mat4x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#row_major_mat4x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.shared#column_major_mat4x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#float_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#float_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#vec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#int_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#int_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#ivec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#uvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bool_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bool_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#bvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.packed#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#float_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#float_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#float_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#vec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#int_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#int_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#int_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#ivec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#uvec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bool_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bool_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bool_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#bvec4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat2x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x4_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x4_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat3x4_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x2_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x2_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x2_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#mat4x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#row_major_mat4x3_both
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x3_vertex
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x3_fragment
-dEQP-GLES3.functional.ubo.instance_array_basic_type.std140#column_major_mat4x3_both
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_instance_array_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#packed_instance_array_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_both
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.multi_basic_types.per_block_buffer#std140_instance_array_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_instance_array_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#packed_instance_array_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_both
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_mixed
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_instance_array_vertex
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.multi_basic_types.single_buffer#std140_instance_array_mixed
-dEQP-GLES3.functional.ubo.multi_nested_struct.per_block_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.multi_nested_struct.per_block_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.multi_nested_struct.single_buffer#packed_vertex
-dEQP-GLES3.functional.ubo.multi_nested_struct.single_buffer#packed_instance_array_vertex
-dEQP-GLES3.functional.ubo.random.scalar_types#0
-dEQP-GLES3.functional.ubo.random.scalar_types#2
-dEQP-GLES3.functional.ubo.random.scalar_types#3
-dEQP-GLES3.functional.ubo.random.scalar_types#5
-dEQP-GLES3.functional.ubo.random.scalar_types#6
-dEQP-GLES3.functional.ubo.random.scalar_types#7
-dEQP-GLES3.functional.ubo.random.scalar_types#8
-dEQP-GLES3.functional.ubo.random.scalar_types#9
-dEQP-GLES3.functional.ubo.random.scalar_types#10
-dEQP-GLES3.functional.ubo.random.scalar_types#11
-dEQP-GLES3.functional.ubo.random.scalar_types#12
-dEQP-GLES3.functional.ubo.random.scalar_types#13
-dEQP-GLES3.functional.ubo.random.scalar_types#16
-dEQP-GLES3.functional.ubo.random.scalar_types#18
-dEQP-GLES3.functional.ubo.random.scalar_types#19
-dEQP-GLES3.functional.ubo.random.scalar_types#22
-dEQP-GLES3.functional.ubo.random.vector_types#1
-dEQP-GLES3.functional.ubo.random.vector_types#2
-dEQP-GLES3.functional.ubo.random.vector_types#4
-dEQP-GLES3.functional.ubo.random.vector_types#5
-dEQP-GLES3.functional.ubo.random.vector_types#6
-dEQP-GLES3.functional.ubo.random.vector_types#9
-dEQP-GLES3.functional.ubo.random.vector_types#11
-dEQP-GLES3.functional.ubo.random.vector_types#12
-dEQP-GLES3.functional.ubo.random.vector_types#13
-dEQP-GLES3.functional.ubo.random.vector_types#15
-dEQP-GLES3.functional.ubo.random.vector_types#16
-dEQP-GLES3.functional.ubo.random.vector_types#17
-dEQP-GLES3.functional.ubo.random.vector_types#18
-dEQP-GLES3.functional.ubo.random.vector_types#19
-dEQP-GLES3.functional.ubo.random.vector_types#20
-dEQP-GLES3.functional.ubo.random.vector_types#21
-dEQP-GLES3.functional.ubo.random.vector_types#22
-dEQP-GLES3.functional.ubo.random.vector_types#24
-dEQP-GLES3.functional.ubo.random.basic_types#0
-dEQP-GLES3.functional.ubo.random.basic_types#3
-dEQP-GLES3.functional.ubo.random.basic_types#4
-dEQP-GLES3.functional.ubo.random.basic_types#5
-dEQP-GLES3.functional.ubo.random.basic_types#7
-dEQP-GLES3.functional.ubo.random.basic_types#10
-dEQP-GLES3.functional.ubo.random.basic_types#11
-dEQP-GLES3.functional.ubo.random.basic_types#12
-dEQP-GLES3.functional.ubo.random.basic_types#14
-dEQP-GLES3.functional.ubo.random.basic_types#15
-dEQP-GLES3.functional.ubo.random.basic_types#16
-dEQP-GLES3.functional.ubo.random.basic_types#17
-dEQP-GLES3.functional.ubo.random.basic_types#18
-dEQP-GLES3.functional.ubo.random.basic_types#19
-dEQP-GLES3.functional.ubo.random.basic_types#20
-dEQP-GLES3.functional.ubo.random.basic_types#21
-dEQP-GLES3.functional.ubo.random.basic_types#22
-dEQP-GLES3.functional.ubo.random.basic_types#24
-dEQP-GLES3.functional.ubo.random.basic_arrays#0
-dEQP-GLES3.functional.ubo.random.basic_arrays#4
-dEQP-GLES3.functional.ubo.random.basic_arrays#6
-dEQP-GLES3.functional.ubo.random.basic_arrays#7
-dEQP-GLES3.functional.ubo.random.basic_arrays#8
-dEQP-GLES3.functional.ubo.random.basic_arrays#10
-dEQP-GLES3.functional.ubo.random.basic_arrays#16
-dEQP-GLES3.functional.ubo.random.basic_arrays#17
-dEQP-GLES3.functional.ubo.random.basic_arrays#20
-dEQP-GLES3.functional.ubo.random.basic_arrays#22
-dEQP-GLES3.functional.ubo.random.basic_arrays#23
-dEQP-GLES3.functional.ubo.random.basic_arrays#24
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#3
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#7
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#9
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#10
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#12
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#13
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#16
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#21
-dEQP-GLES3.functional.ubo.random.basic_instance_arrays#23
-dEQP-GLES3.functional.ubo.random.nested_structs#1
-dEQP-GLES3.functional.ubo.random.nested_structs#5
-dEQP-GLES3.functional.ubo.random.nested_structs#6
-dEQP-GLES3.functional.ubo.random.nested_structs#10
-dEQP-GLES3.functional.ubo.random.nested_structs#13
-dEQP-GLES3.functional.ubo.random.nested_structs#14
-dEQP-GLES3.functional.ubo.random.nested_structs#17
-dEQP-GLES3.functional.ubo.random.nested_structs#18
-dEQP-GLES3.functional.ubo.random.nested_structs#24
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#0
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#4
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#5
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#10
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#16
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#18
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#24
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#1
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#2
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#7
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#9
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#11
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#13
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#16
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#17
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#19
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#20
-dEQP-GLES3.functional.ubo.random.nested_structs_instance_arrays#23
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#0
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#1
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#9
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#12
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#15
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#18
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#23
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#4
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#5
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#7
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#10
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#12
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#18
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#19
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#20
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#21
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#23
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#29
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#30
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#32
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#34
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#39
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#42
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#45
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#48
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#49
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#5
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#7
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#12
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#14
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#15
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#24
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#26
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#29
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#30
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#34
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#36
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#38
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#39
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#42
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#44
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#46
-dEQP-GLES3.functional.ubo.random.all_shared_buffer#47
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#float_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#int_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_nested_structs_arrays#vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_nested_structs_arrays#fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.multiple_nested_structs_arrays#both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.active_uniform.unused_uniforms#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#float_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#int_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#float_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#int_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_array_first_elem_without_brackets#sampler2D_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_nested_structs_arrays#vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_nested_structs_arrays#fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.multiple_nested_structs_arrays#both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.indices_active_uniformsiv.unused_uniforms#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#float_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#int_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_nested_structs_arrays#vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_nested_structs_arrays#fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.multiple_nested_structs_arrays#both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#float_vec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.info_query.consistency.unused_uniforms#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec2_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec3_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays#both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bool_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays#vertex
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays#fragment
-dEQP-GLES3.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat2x4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat3x4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4x3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#mat4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec2_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec3_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#mat4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat2x4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat3x4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x2_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4x3_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#mat4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_row_major_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_row_major_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#mat4_row_major_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec2_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec3_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec3_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec3_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec3_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic#samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_value.render.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#float_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#float_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#float_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#mat4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#mat4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#mat4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#int_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#int_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#int_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#uint_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#uint_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bool_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bool_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bool_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#sampler2D_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#sampler2D_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array#vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array#fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array#both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#float_vec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#float_vec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#float_vec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#int_ivec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#int_ivec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#int_ivec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#uint_uvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#uint_uvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#uint_uvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#bool_bvec4_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#bool_bvec4_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#bool_bvec4_both
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#sampler2D_samplerCube_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#sampler2D_samplerCube_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.unused_uniforms#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.random#1
-dEQP-GLES3.functional.uniform_api.random#2
-dEQP-GLES3.functional.uniform_api.random#5
-dEQP-GLES3.functional.uniform_api.random#7
-dEQP-GLES3.functional.uniform_api.random#9
-dEQP-GLES3.functional.uniform_api.random#10
-dEQP-GLES3.functional.uniform_api.random#11
-dEQP-GLES3.functional.uniform_api.random#12
-dEQP-GLES3.functional.uniform_api.random#13
-dEQP-GLES3.functional.uniform_api.random#15
-dEQP-GLES3.functional.uniform_api.random#16
-dEQP-GLES3.functional.uniform_api.random#18
-dEQP-GLES3.functional.uniform_api.random#19
-dEQP-GLES3.functional.uniform_api.random#24
-dEQP-GLES3.functional.uniform_api.random#25
-dEQP-GLES3.functional.uniform_api.random#26
-dEQP-GLES3.functional.uniform_api.random#27
-dEQP-GLES3.functional.uniform_api.random#28
-dEQP-GLES3.functional.uniform_api.random#30
-dEQP-GLES3.functional.uniform_api.random#31
-dEQP-GLES3.functional.uniform_api.random#32
-dEQP-GLES3.functional.uniform_api.random#34
-dEQP-GLES3.functional.uniform_api.random#35
-dEQP-GLES3.functional.uniform_api.random#36
-dEQP-GLES3.functional.uniform_api.random#38
-dEQP-GLES3.functional.uniform_api.random#39
-dEQP-GLES3.functional.uniform_api.random#40
-dEQP-GLES3.functional.uniform_api.random#41
-dEQP-GLES3.functional.uniform_api.random#42
-dEQP-GLES3.functional.uniform_api.random#43
-dEQP-GLES3.functional.uniform_api.random#44
-dEQP-GLES3.functional.uniform_api.random#45
-dEQP-GLES3.functional.uniform_api.random#46
-dEQP-GLES3.functional.uniform_api.random#47
-dEQP-GLES3.functional.uniform_api.random#48
-dEQP-GLES3.functional.uniform_api.random#49
-dEQP-GLES3.functional.uniform_api.random#51
-dEQP-GLES3.functional.uniform_api.random#52
-dEQP-GLES3.functional.uniform_api.random#53
-dEQP-GLES3.functional.uniform_api.random#55
-dEQP-GLES3.functional.uniform_api.random#56
-dEQP-GLES3.functional.uniform_api.random#57
-dEQP-GLES3.functional.uniform_api.random#58
-dEQP-GLES3.functional.uniform_api.random#60
-dEQP-GLES3.functional.uniform_api.random#61
-dEQP-GLES3.functional.uniform_api.random#62
-dEQP-GLES3.functional.uniform_api.random#63
-dEQP-GLES3.functional.uniform_api.random#64
-dEQP-GLES3.functional.uniform_api.random#65
-dEQP-GLES3.functional.uniform_api.random#66
-dEQP-GLES3.functional.uniform_api.random#67
-dEQP-GLES3.functional.uniform_api.random#68
-dEQP-GLES3.functional.uniform_api.random#69
-dEQP-GLES3.functional.uniform_api.random#70
-dEQP-GLES3.functional.uniform_api.random#71
-dEQP-GLES3.functional.uniform_api.random#73
-dEQP-GLES3.functional.uniform_api.random#74
-dEQP-GLES3.functional.uniform_api.random#76
-dEQP-GLES3.functional.uniform_api.random#77
-dEQP-GLES3.functional.uniform_api.random#78
-dEQP-GLES3.functional.uniform_api.random#79
-dEQP-GLES3.functional.uniform_api.random#80
-dEQP-GLES3.functional.uniform_api.random#82
-dEQP-GLES3.functional.uniform_api.random#84
-dEQP-GLES3.functional.uniform_api.random#85
-dEQP-GLES3.functional.uniform_api.random#88
-dEQP-GLES3.functional.uniform_api.random#89
-dEQP-GLES3.functional.uniform_api.random#91
-dEQP-GLES3.functional.uniform_api.random#92
-dEQP-GLES3.functional.uniform_api.random#94
-dEQP-GLES3.functional.uniform_api.random#97
-dEQP-GLES3.functional.uniform_api.random#99
-dEQP-GLES3.functional.attribute_location.bind#float
-dEQP-GLES3.functional.attribute_location.bind#vec2
-dEQP-GLES3.functional.attribute_location.bind#vec3
-dEQP-GLES3.functional.attribute_location.bind#vec4
-dEQP-GLES3.functional.attribute_location.bind#mat2
-dEQP-GLES3.functional.attribute_location.bind#mat3
-dEQP-GLES3.functional.attribute_location.bind#mat4
-dEQP-GLES3.functional.attribute_location.bind#int
-dEQP-GLES3.functional.attribute_location.bind#ivec2
-dEQP-GLES3.functional.attribute_location.bind#ivec3
-dEQP-GLES3.functional.attribute_location.bind#ivec4
-dEQP-GLES3.functional.attribute_location.bind#uint
-dEQP-GLES3.functional.attribute_location.bind#uvec2
-dEQP-GLES3.functional.attribute_location.bind#uvec3
-dEQP-GLES3.functional.attribute_location.bind#uvec4
-dEQP-GLES3.functional.attribute_location.bind#mat2x2
-dEQP-GLES3.functional.attribute_location.bind#mat2x3
-dEQP-GLES3.functional.attribute_location.bind#mat2x4
-dEQP-GLES3.functional.attribute_location.bind#mat3x2
-dEQP-GLES3.functional.attribute_location.bind#mat3x3
-dEQP-GLES3.functional.attribute_location.bind#mat3x4
-dEQP-GLES3.functional.attribute_location.bind#mat4x2
-dEQP-GLES3.functional.attribute_location.bind#mat4x3
-dEQP-GLES3.functional.attribute_location.bind#mat4x4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#float
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#vec2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#vec3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#vec4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#int
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#ivec2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#ivec3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#ivec4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#uint
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#uvec2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#uvec3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#uvec4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat2x2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat2x3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat2x4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat3x2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat3x3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat3x4
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat4x2
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat4x3
-dEQP-GLES3.functional.attribute_location.bind_max_attributes#mat4x4
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_float
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_vec2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_vec3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_vec4
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_mat2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_mat3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_inactive_mat4
-dEQP-GLES3.functional.attribute_location.bind_hole#float
-dEQP-GLES3.functional.attribute_location.bind_hole#vec2
-dEQP-GLES3.functional.attribute_location.bind_hole#vec3
-dEQP-GLES3.functional.attribute_location.bind_hole#mat2
-dEQP-GLES3.functional.attribute_location.bind_hole#mat3
-dEQP-GLES3.functional.attribute_location.bind_hole#mat4
-dEQP-GLES3.functional.attribute_location.bind_hole#int
-dEQP-GLES3.functional.attribute_location.bind_hole#ivec2
-dEQP-GLES3.functional.attribute_location.bind_hole#ivec3
-dEQP-GLES3.functional.attribute_location.bind_hole#ivec4
-dEQP-GLES3.functional.attribute_location.bind_hole#uint
-dEQP-GLES3.functional.attribute_location.bind_hole#uvec2
-dEQP-GLES3.functional.attribute_location.bind_hole#uvec3
-dEQP-GLES3.functional.attribute_location.bind_hole#uvec4
-dEQP-GLES3.functional.attribute_location.bind_hole#mat2x2
-dEQP-GLES3.functional.attribute_location.bind_hole#mat2x3
-dEQP-GLES3.functional.attribute_location.bind_hole#mat2x4
-dEQP-GLES3.functional.attribute_location.bind_hole#mat3x2
-dEQP-GLES3.functional.attribute_location.bind_hole#mat3x3
-dEQP-GLES3.functional.attribute_location.bind_hole#mat3x4
-dEQP-GLES3.functional.attribute_location.bind_hole#mat4x2
-dEQP-GLES3.functional.attribute_location.bind_hole#mat4x3
-dEQP-GLES3.functional.attribute_location.bind_hole#mat4x4
-dEQP-GLES3.functional.attribute_location.bind_time#pre_attach
-dEQP-GLES3.functional.attribute_location.bind_time#pre_link
-dEQP-GLES3.functional.attribute_location.bind_time#post_link
-dEQP-GLES3.functional.attribute_location.bind_time#relink
-dEQP-GLES3.functional.attribute_location.bind_time#reattach
-dEQP-GLES3.functional.attribute_location.layout#float
-dEQP-GLES3.functional.attribute_location.layout#vec2
-dEQP-GLES3.functional.attribute_location.layout#vec3
-dEQP-GLES3.functional.attribute_location.layout#vec4
-dEQP-GLES3.functional.attribute_location.layout#int
-dEQP-GLES3.functional.attribute_location.layout#ivec2
-dEQP-GLES3.functional.attribute_location.layout#ivec3
-dEQP-GLES3.functional.attribute_location.layout#ivec4
-dEQP-GLES3.functional.attribute_location.layout#uint
-dEQP-GLES3.functional.attribute_location.layout#uvec2
-dEQP-GLES3.functional.attribute_location.layout#uvec3
-dEQP-GLES3.functional.attribute_location.layout#uvec4
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#float
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#vec2
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#vec3
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#vec4
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#int
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#ivec2
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#ivec3
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#ivec4
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#uint
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#uvec2
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#uvec3
-dEQP-GLES3.functional.attribute_location.layout_max_attributes#uvec4
-dEQP-GLES3.functional.attribute_location.layout_hole#float
-dEQP-GLES3.functional.attribute_location.layout_hole#vec2
-dEQP-GLES3.functional.attribute_location.layout_hole#vec3
-dEQP-GLES3.functional.attribute_location.layout_hole#vec4
-dEQP-GLES3.functional.attribute_location.layout_hole#mat2
-dEQP-GLES3.functional.attribute_location.layout_hole#mat3
-dEQP-GLES3.functional.attribute_location.layout_hole#mat4
-dEQP-GLES3.functional.attribute_location.layout_hole#int
-dEQP-GLES3.functional.attribute_location.layout_hole#ivec2
-dEQP-GLES3.functional.attribute_location.layout_hole#ivec3
-dEQP-GLES3.functional.attribute_location.layout_hole#ivec4
-dEQP-GLES3.functional.attribute_location.layout_hole#uint
-dEQP-GLES3.functional.attribute_location.layout_hole#uvec2
-dEQP-GLES3.functional.attribute_location.layout_hole#uvec3
-dEQP-GLES3.functional.attribute_location.layout_hole#uvec4
-dEQP-GLES3.functional.attribute_location.layout_hole#mat2x2
-dEQP-GLES3.functional.attribute_location.layout_hole#mat2x3
-dEQP-GLES3.functional.attribute_location.layout_hole#mat2x4
-dEQP-GLES3.functional.attribute_location.layout_hole#mat3x2
-dEQP-GLES3.functional.attribute_location.layout_hole#mat3x3
-dEQP-GLES3.functional.attribute_location.layout_hole#mat3x4
-dEQP-GLES3.functional.attribute_location.layout_hole#mat4x2
-dEQP-GLES3.functional.attribute_location.layout_hole#mat4x3
-dEQP-GLES3.functional.attribute_location.layout_hole#mat4x4
-dEQP-GLES3.functional.attribute_location.mixed#float
-dEQP-GLES3.functional.attribute_location.mixed#vec2
-dEQP-GLES3.functional.attribute_location.mixed#vec3
-dEQP-GLES3.functional.attribute_location.mixed#vec4
-dEQP-GLES3.functional.attribute_location.mixed#int
-dEQP-GLES3.functional.attribute_location.mixed#ivec2
-dEQP-GLES3.functional.attribute_location.mixed#ivec3
-dEQP-GLES3.functional.attribute_location.mixed#ivec4
-dEQP-GLES3.functional.attribute_location.mixed#uint
-dEQP-GLES3.functional.attribute_location.mixed#uvec2
-dEQP-GLES3.functional.attribute_location.mixed#uvec3
-dEQP-GLES3.functional.attribute_location.mixed#uvec4
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#float
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#vec2
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#vec3
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#vec4
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#int
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#ivec2
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#ivec3
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#ivec4
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#uint
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#uvec2
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#uvec3
-dEQP-GLES3.functional.attribute_location.mixed_max_attributes#uvec4
-dEQP-GLES3.functional.attribute_location.mixed_time#pre_attach
-dEQP-GLES3.functional.attribute_location.mixed_time#pre_link
-dEQP-GLES3.functional.attribute_location.mixed_time#post_link
-dEQP-GLES3.functional.attribute_location.mixed_time#relink
-dEQP-GLES3.functional.attribute_location.mixed_time#reattach
-dEQP-GLES3.functional.attribute_location.mixed_hole#float
-dEQP-GLES3.functional.attribute_location.mixed_hole#vec2
-dEQP-GLES3.functional.attribute_location.mixed_hole#vec3
-dEQP-GLES3.functional.attribute_location.mixed_hole#vec4
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat2
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat3
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat4
-dEQP-GLES3.functional.attribute_location.mixed_hole#int
-dEQP-GLES3.functional.attribute_location.mixed_hole#ivec2
-dEQP-GLES3.functional.attribute_location.mixed_hole#ivec3
-dEQP-GLES3.functional.attribute_location.mixed_hole#ivec4
-dEQP-GLES3.functional.attribute_location.mixed_hole#uint
-dEQP-GLES3.functional.attribute_location.mixed_hole#uvec2
-dEQP-GLES3.functional.attribute_location.mixed_hole#uvec3
-dEQP-GLES3.functional.attribute_location.mixed_hole#uvec4
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat2x2
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat2x3
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat2x4
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat3x2
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat3x3
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat3x4
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat4x2
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat4x3
-dEQP-GLES3.functional.attribute_location.mixed_hole#mat4x4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rgba16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r11f_g11f_b10f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#rg16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_highp_float
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.float#r16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba8_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#srgb8_alpha8_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb10_a2_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgba4_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb5_a1_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb8_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rgb565_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#rg8_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_lowp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_mediump_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_highp_float
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_highp_vec2
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_highp_vec3
-dEQP-GLES3.functional.fragment_out.basic.fixed#r8_highp_vec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba32i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rgba8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg32i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#rg8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r32i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_lowp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_mediump_int
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_highp_int
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.basic.int#r8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba32ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgba8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rgb10_a2ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg32ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#rg8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r32ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.basic.uint#r8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rgba16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r11f_g11f_b10f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#rg16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r32f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#r32f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r32f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r32f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r32f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#r32f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r32f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r32f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r32f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#r32f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r32f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r32f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r16f_lowp_float
-dEQP-GLES3.functional.fragment_out.array.float#r16f_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r16f_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r16f_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r16f_mediump_float
-dEQP-GLES3.functional.fragment_out.array.float#r16f_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r16f_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r16f_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.float#r16f_highp_float
-dEQP-GLES3.functional.fragment_out.array.float#r16f_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.float#r16f_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.float#r16f_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba8_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#srgb8_alpha8_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb10_a2_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgba4_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb5_a1_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb8_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rgb565_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#rg8_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_lowp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_lowp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_lowp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_lowp_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_mediump_float
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_mediump_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_mediump_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_mediump_vec4
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_highp_float
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_highp_vec2
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_highp_vec3
-dEQP-GLES3.functional.fragment_out.array.fixed#r8_highp_vec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rgba8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg32i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#rg8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r32i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#r32i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r32i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r32i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r32i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#r32i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r32i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r32i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r32i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#r32i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r32i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r32i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r16i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#r16i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r16i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r16i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r16i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#r16i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r16i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r16i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r16i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#r16i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r16i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r16i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r8i_lowp_int
-dEQP-GLES3.functional.fragment_out.array.int#r8i_lowp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r8i_lowp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r8i_lowp_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r8i_mediump_int
-dEQP-GLES3.functional.fragment_out.array.int#r8i_mediump_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r8i_mediump_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r8i_mediump_ivec4
-dEQP-GLES3.functional.fragment_out.array.int#r8i_highp_int
-dEQP-GLES3.functional.fragment_out.array.int#r8i_highp_ivec2
-dEQP-GLES3.functional.fragment_out.array.int#r8i_highp_ivec3
-dEQP-GLES3.functional.fragment_out.array.int#r8i_highp_ivec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgba8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rgb10_a2ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg32ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#rg8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r32ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r16ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_lowp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_lowp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_lowp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_lowp_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_mediump_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_mediump_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_mediump_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_mediump_uvec4
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_highp_uint
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_highp_uvec2
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_highp_uvec3
-dEQP-GLES3.functional.fragment_out.array.uint#r8ui_highp_uvec4
-dEQP-GLES3.functional.fragment_out.random#1
-dEQP-GLES3.functional.fragment_out.random#4
-dEQP-GLES3.functional.fragment_out.random#5
-dEQP-GLES3.functional.fragment_out.random#6
-dEQP-GLES3.functional.fragment_out.random#7
-dEQP-GLES3.functional.fragment_out.random#8
-dEQP-GLES3.functional.fragment_out.random#9
-dEQP-GLES3.functional.fragment_out.random#10
-dEQP-GLES3.functional.fragment_out.random#11
-dEQP-GLES3.functional.fragment_out.random#13
-dEQP-GLES3.functional.fragment_out.random#14
-dEQP-GLES3.functional.fragment_out.random#15
-dEQP-GLES3.functional.fragment_out.random#16
-dEQP-GLES3.functional.fragment_out.random#17
-dEQP-GLES3.functional.fragment_out.random#18
-dEQP-GLES3.functional.fragment_out.random#19
-dEQP-GLES3.functional.fragment_out.random#20
-dEQP-GLES3.functional.fragment_out.random#21
-dEQP-GLES3.functional.fragment_out.random#22
-dEQP-GLES3.functional.fragment_out.random#23
-dEQP-GLES3.functional.fragment_out.random#24
-dEQP-GLES3.functional.fragment_out.random#25
-dEQP-GLES3.functional.fragment_out.random#26
-dEQP-GLES3.functional.fragment_out.random#27
-dEQP-GLES3.functional.fragment_out.random#30
-dEQP-GLES3.functional.fragment_out.random#31
-dEQP-GLES3.functional.fragment_out.random#32
-dEQP-GLES3.functional.fragment_out.random#34
-dEQP-GLES3.functional.fragment_out.random#35
-dEQP-GLES3.functional.fragment_out.random#37
-dEQP-GLES3.functional.fragment_out.random#38
-dEQP-GLES3.functional.fragment_out.random#39
-dEQP-GLES3.functional.fragment_out.random#40
-dEQP-GLES3.functional.fragment_out.random#41
-dEQP-GLES3.functional.fragment_out.random#42
-dEQP-GLES3.functional.fragment_out.random#43
-dEQP-GLES3.functional.fragment_out.random#44
-dEQP-GLES3.functional.fragment_out.random#45
-dEQP-GLES3.functional.fragment_out.random#46
-dEQP-GLES3.functional.fragment_out.random#47
-dEQP-GLES3.functional.fragment_out.random#49
-dEQP-GLES3.functional.fragment_out.random#52
-dEQP-GLES3.functional.fragment_out.random#53
-dEQP-GLES3.functional.fragment_out.random#54
-dEQP-GLES3.functional.fragment_out.random#56
-dEQP-GLES3.functional.fragment_out.random#57
-dEQP-GLES3.functional.fragment_out.random#58
-dEQP-GLES3.functional.fragment_out.random#60
-dEQP-GLES3.functional.fragment_out.random#61
-dEQP-GLES3.functional.fragment_out.random#62
-dEQP-GLES3.functional.fragment_out.random#63
-dEQP-GLES3.functional.fragment_out.random#64
-dEQP-GLES3.functional.fragment_out.random#65
-dEQP-GLES3.functional.fragment_out.random#66
-dEQP-GLES3.functional.fragment_out.random#67
-dEQP-GLES3.functional.fragment_out.random#68
-dEQP-GLES3.functional.fragment_out.random#69
-dEQP-GLES3.functional.fragment_out.random#70
-dEQP-GLES3.functional.fragment_out.random#72
-dEQP-GLES3.functional.fragment_out.random#74
-dEQP-GLES3.functional.fragment_out.random#77
-dEQP-GLES3.functional.fragment_out.random#80
-dEQP-GLES3.functional.fragment_out.random#81
-dEQP-GLES3.functional.fragment_out.random#82
-dEQP-GLES3.functional.fragment_out.random#83
-dEQP-GLES3.functional.fragment_out.random#84
-dEQP-GLES3.functional.fragment_out.random#85
-dEQP-GLES3.functional.fragment_out.random#86
-dEQP-GLES3.functional.fragment_out.random#87
-dEQP-GLES3.functional.fragment_out.random#88
-dEQP-GLES3.functional.fragment_out.random#89
-dEQP-GLES3.functional.fragment_out.random#91
-dEQP-GLES3.functional.fragment_out.random#92
-dEQP-GLES3.functional.fragment_out.random#95
-dEQP-GLES3.functional.fragment_out.random#97
-dEQP-GLES3.functional.fragment_out.random#98
-dEQP-GLES3.functional.fragment_out.random#99
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_wrap_t
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_wrap_s
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_wrap_r
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_min_filter
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_mag_filter
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_max_lod
-dEQP-GLES3.functional.samplers.single_tex_2d#diff_min_lod
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_wrap_t
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_wrap_s
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_wrap_r
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_min_filter
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_mag_filter
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_max_lod
-dEQP-GLES3.functional.samplers.multi_tex_2d#diff_min_lod
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_wrap_t
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_wrap_s
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_wrap_r
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_min_filter
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_mag_filter
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_max_lod
-dEQP-GLES3.functional.samplers.single_tex_3d#diff_min_lod
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_wrap_t
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_wrap_s
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_wrap_r
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_min_filter
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_mag_filter
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_max_lod
-dEQP-GLES3.functional.samplers.multi_tex_3d#diff_min_lod
-dEQP-GLES3.functional.samplers.single_cubemap#diff_wrap_t
-dEQP-GLES3.functional.samplers.single_cubemap#diff_wrap_s
-dEQP-GLES3.functional.samplers.single_cubemap#diff_wrap_r
-dEQP-GLES3.functional.samplers.single_cubemap#diff_min_filter
-dEQP-GLES3.functional.samplers.single_cubemap#diff_mag_filter
-dEQP-GLES3.functional.samplers.single_cubemap#diff_max_lod
-dEQP-GLES3.functional.samplers.single_cubemap#diff_min_lod
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_wrap_t
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_wrap_s
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_wrap_r
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_min_filter
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_mag_filter
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_max_lod
-dEQP-GLES3.functional.samplers.multi_cubemap#diff_min_lod
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba8ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16f_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16f_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba16ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32f_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32f_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba32ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#srgb8_alpha8_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#srgb8_alpha8_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgb10_a2ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgb10_a2ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgba4_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgba4_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgb8_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgb8_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgb565_clears
-dEQP-GLES3.functional.pbo.renderbuffer#r11f_g11f_b10f_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#r11f_g11f_b10f_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg8_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg8_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg8i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg8i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg8ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg8ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg16f_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg16f_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg16i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg16i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg16ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg16ui_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg32f_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg32f_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg32i_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg32i_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rg32ui_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rg32ui_clears
-dEQP-GLES3.functional.rasterization.primitives#triangles
-dEQP-GLES3.functional.rasterization.primitives#triangle_strip
-dEQP-GLES3.functional.rasterization.primitives#triangle_fan
-dEQP-GLES3.functional.rasterization.primitives#line_strip
-dEQP-GLES3.functional.rasterization.primitives#line_loop
-dEQP-GLES3.functional.rasterization.primitives#points
-dEQP-GLES3.functional.rasterization.fill_rules#basic_quad
-dEQP-GLES3.functional.rasterization.fill_rules#basic_quad_reverse
-dEQP-GLES3.functional.rasterization.fill_rules#clipped_full
-dEQP-GLES3.functional.rasterization.fill_rules#clipped_partly
-dEQP-GLES3.functional.rasterization.fill_rules#projected
-dEQP-GLES3.functional.rasterization.culling#front_triangles
-dEQP-GLES3.functional.rasterization.culling#front_triangles_reverse
-dEQP-GLES3.functional.rasterization.culling#front_triangle_strip
-dEQP-GLES3.functional.rasterization.culling#front_triangle_strip_reverse
-dEQP-GLES3.functional.rasterization.culling#front_triangle_fan
-dEQP-GLES3.functional.rasterization.culling#front_triangle_fan_reverse
-dEQP-GLES3.functional.rasterization.culling#back_triangles
-dEQP-GLES3.functional.rasterization.culling#back_triangles_reverse
-dEQP-GLES3.functional.rasterization.culling#back_triangle_strip
-dEQP-GLES3.functional.rasterization.culling#back_triangle_strip_reverse
-dEQP-GLES3.functional.rasterization.culling#back_triangle_fan
-dEQP-GLES3.functional.rasterization.culling#back_triangle_fan_reverse
-dEQP-GLES3.functional.rasterization.culling#both_triangles
-dEQP-GLES3.functional.rasterization.culling#both_triangles_reverse
-dEQP-GLES3.functional.rasterization.culling#both_triangle_strip
-dEQP-GLES3.functional.rasterization.culling#both_triangle_strip_reverse
-dEQP-GLES3.functional.rasterization.culling#both_triangle_fan
-dEQP-GLES3.functional.rasterization.culling#both_triangle_fan_reverse
-dEQP-GLES3.functional.rasterization.interpolation.basic#triangles
-dEQP-GLES3.functional.rasterization.interpolation.basic#triangle_strip
-dEQP-GLES3.functional.rasterization.interpolation.basic#triangle_fan
-dEQP-GLES3.functional.rasterization.interpolation.projected#triangles
-dEQP-GLES3.functional.rasterization.interpolation.projected#triangle_strip
-dEQP-GLES3.functional.rasterization.interpolation.projected#triangle_fan
-dEQP-GLES3.functional.rasterization.flatshading#triangles
-dEQP-GLES3.functional.rasterization.flatshading#triangle_strip
-dEQP-GLES3.functional.rasterization.flatshading#triangle_fan
-dEQP-GLES3.functional.rasterization.flatshading#lines
-dEQP-GLES3.functional.rasterization.flatshading#line_strip
-dEQP-GLES3.functional.rasterization.flatshading#line_loop
-dEQP-GLES3.functional.rasterization.flatshading#lines_wide
-dEQP-GLES3.functional.rasterization.flatshading#line_strip_wide
-dEQP-GLES3.functional.rasterization.flatshading#line_loop_wide
-dEQP-GLES3.functional.occlusion_query#scissor
-dEQP-GLES3.functional.occlusion_query#depth_write
-dEQP-GLES3.functional.occlusion_query#depth_clear
-dEQP-GLES3.functional.occlusion_query#stencil_write
-dEQP-GLES3.functional.occlusion_query#stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write
-dEQP-GLES3.functional.occlusion_query#scissor_depth_clear
-dEQP-GLES3.functional.occlusion_query#scissor_stencil_write
-dEQP-GLES3.functional.occlusion_query#scissor_stencil_clear
-dEQP-GLES3.functional.occlusion_query#depth_write_depth_clear
-dEQP-GLES3.functional.occlusion_query#depth_write_stencil_write
-dEQP-GLES3.functional.occlusion_query#depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_depth_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_stencil_write
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#scissor_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#depth_write_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#depth_write_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#depth_write_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_write_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#scissor_depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#depth_write_depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#all_occluders
-dEQP-GLES3.functional.occlusion_query#conservative_scissor
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write
-dEQP-GLES3.functional.occlusion_query#conservative_depth_clear
-dEQP-GLES3.functional.occlusion_query#conservative_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_depth_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_depth_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_depth_clear_stencil_write
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_depth_clear_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_write_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_scissor_depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_depth_write_depth_clear_stencil_write_stencil_clear
-dEQP-GLES3.functional.occlusion_query#conservative_all_occluders
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.basic.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.line_loop.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.lines.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_strip.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangle_fan.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.triangles.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id#1_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id#2_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id#4_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id#20_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.attribute_divisor#1_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.attribute_divisor#2_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.attribute_divisor#4_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.attribute_divisor#20_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed#1_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed#2_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed#4_instances
-dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed#20_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id#1_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id#2_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id#4_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id#20_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor#1_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor#2_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor#4_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.attribute_divisor#20_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed#1_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed#2_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed#4_instances
-dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed#20_instances
-dEQP-GLES3.functional.instanced.types#float
-dEQP-GLES3.functional.instanced.types#vec2
-dEQP-GLES3.functional.instanced.types#vec3
-dEQP-GLES3.functional.instanced.types#vec4
-dEQP-GLES3.functional.instanced.types#mat2
-dEQP-GLES3.functional.instanced.types#mat2x3
-dEQP-GLES3.functional.instanced.types#mat2x4
-dEQP-GLES3.functional.instanced.types#mat3x2
-dEQP-GLES3.functional.instanced.types#mat3
-dEQP-GLES3.functional.instanced.types#mat3x4
-dEQP-GLES3.functional.instanced.types#mat4x2
-dEQP-GLES3.functional.instanced.types#mat4x3
-dEQP-GLES3.functional.instanced.types#mat4
-dEQP-GLES3.functional.instanced.types#int
-dEQP-GLES3.functional.instanced.types#ivec2
-dEQP-GLES3.functional.instanced.types#ivec3
-dEQP-GLES3.functional.instanced.types#ivec4
-dEQP-GLES3.functional.instanced.types#uint
-dEQP-GLES3.functional.instanced.types#uvec2
-dEQP-GLES3.functional.instanced.types#uvec3
-dEQP-GLES3.functional.instanced.types#uvec4
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_points
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_lines
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_line_strip
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_line_loop
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_triangles
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.basic#write_depth_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_points
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_lines
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_line_strip
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_line_loop
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_triangles
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.basic#write_stencil_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.basic#clear_color
-dEQP-GLES3.functional.rasterizer_discard.basic#clear_depth
-dEQP-GLES3.functional.rasterizer_discard.basic#clear_stencil
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_points
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_lines
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_line_strip
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_line_loop
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_triangles
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_depth_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_points
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_lines
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_line_strip
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_line_loop
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_triangles
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.scissor#write_stencil_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.scissor#clear_color
-dEQP-GLES3.functional.rasterizer_discard.scissor#clear_depth
-dEQP-GLES3.functional.rasterizer_discard.scissor#clear_stencil
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_points
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_lines
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_line_strip
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_line_loop
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_triangles
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_depth_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_points
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_lines
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_line_strip
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_line_loop
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_triangles
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_triangle_strip
-dEQP-GLES3.functional.rasterizer_discard.fbo#write_stencil_triangle_fan
-dEQP-GLES3.functional.rasterizer_discard.fbo#clear_color
-dEQP-GLES3.functional.rasterizer_discard.fbo#clear_depth
-dEQP-GLES3.functional.rasterizer_discard.fbo#clear_stencil
-dEQP-GLES3.functional.transform_feedback.position#points_interleaved
-dEQP-GLES3.functional.transform_feedback.position#lines_separate
-dEQP-GLES3.functional.transform_feedback.position#lines_interleaved
-dEQP-GLES3.functional.transform_feedback.position#triangles_separate
-dEQP-GLES3.functional.transform_feedback.position#triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.point_size#points_separate
-dEQP-GLES3.functional.transform_feedback.point_size#points_interleaved
-dEQP-GLES3.functional.transform_feedback.point_size#lines_separate
-dEQP-GLES3.functional.transform_feedback.point_size#lines_interleaved
-dEQP-GLES3.functional.transform_feedback.point_size#triangles_separate
-dEQP-GLES3.functional.transform_feedback.point_size#triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_vec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_vec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.basic_types.interleaved.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_float
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat2x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat2x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat3x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat3x4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat4x2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat4x3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_mat4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array_element.interleaved.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#lowp_vec4_points_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#lowp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#lowp_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#lowp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#lowp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#mediump_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#mediump_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#mediump_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#mediump_vec4_triangles_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#mediump_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#highp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#highp_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#highp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#highp_vec4_triangles_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.smooth#highp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_points_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_triangles_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#lowp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#mediump_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#mediump_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#mediump_vec4_triangles_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#mediump_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#highp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#highp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#highp_vec4_triangles_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.flat#highp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#lowp_vec4_points_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#lowp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#lowp_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#lowp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#lowp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#mediump_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#mediump_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#highp_vec4_points_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#highp_vec4_points_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#highp_vec4_lines_separate
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#highp_vec4_lines_interleaved
-dEQP-GLES3.functional.transform_feedback.interpolation.centroid#highp_vec4_triangles_interleaved
-dEQP-GLES3.functional.transform_feedback.random.separate.points#1
-dEQP-GLES3.functional.transform_feedback.random.separate.points#3
-dEQP-GLES3.functional.transform_feedback.random.separate.points#5
-dEQP-GLES3.functional.transform_feedback.random.separate.points#6
-dEQP-GLES3.functional.transform_feedback.random.separate.points#8
-dEQP-GLES3.functional.transform_feedback.random.separate.points#9
-dEQP-GLES3.functional.transform_feedback.random.separate.points#10
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#3
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#5
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#6
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#10
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#2
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#3
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#5
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#7
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#3
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#5
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#8
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#9
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#10
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#2
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#5
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#8
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#9
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#10
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#1
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#4
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#5
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#6
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#9
-dEQP-GLES3.functional.fence_sync#wait_sync_smalldraw
-dEQP-GLES3.functional.fence_sync#client_wait_sync_smalldraw
-dEQP-GLES3.functional.fence_sync#client_wait_sync_timeout_smalldraw
-dEQP-GLES3.functional.shader_api.create_delete#create_vertex_shader
-dEQP-GLES3.functional.shader_api.create_delete#create_fragment_shader
-dEQP-GLES3.functional.shader_api.create_delete#delete_vertex_fragment
-dEQP-GLES3.functional.shader_api.compile_link#compile_vertex_shader
-dEQP-GLES3.functional.shader_api.compile_link#compile_fragment_shader
-dEQP-GLES3.functional.shader_api.compile_link#link_vertex_fragment
-dEQP-GLES3.functional.shader_api.shader_source#replace_source_vertex
-dEQP-GLES3.functional.shader_api.shader_source#replace_source_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_null_terminated_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_null_terminated_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_null_terminated_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_null_terminated_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_null_terminated_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_null_terminated_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_specify_lengths_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_specify_lengths_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_specify_lengths_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_specify_lengths_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_specify_lengths_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_specify_lengths_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_random_negative_length_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_2_random_negative_length_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_random_negative_length_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_4_random_negative_length_fragment
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_random_negative_length_vertex
-dEQP-GLES3.functional.shader_api.shader_source#split_source_8_random_negative_length_fragment
-dEQP-GLES3.functional.shader_api.program_state#detach_shader_vertex
-dEQP-GLES3.functional.shader_api.program_state#detach_shader_fragment
-dEQP-GLES3.functional.shader_api.program_state#reattach_shader_vertex
-dEQP-GLES3.functional.shader_api.program_state#reattach_shader_fragment
-dEQP-GLES3.functional.shader_api.program_state#delete_shader_vertex
-dEQP-GLES3.functional.shader_api.program_state#delete_shader_fragment
-dEQP-GLES3.functional.shader_api.program_state#replace_shader_vertex
-dEQP-GLES3.functional.shader_api.program_state#replace_shader_fragment
-dEQP-GLES3.functional.shader_api.program_state#recompile_shader_vertex
-dEQP-GLES3.functional.shader_api.program_state#recompile_shader_fragment
-dEQP-GLES3.functional.shader_api.program_state#replace_source_vertex
-dEQP-GLES3.functional.shader_api.program_state#replace_source_fragment
-dEQP-GLES3.functional.shader_api.program_binary.simple#get_program_binary_vertex_fragment
-dEQP-GLES3.functional.shader_api.program_binary.simple#uniform_reset_on_binary_load
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#detach_shader_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#detach_shader_fragment
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#reattach_shader_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#reattach_shader_fragment
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#delete_shader_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#delete_shader_fragment
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#replace_shader_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#replace_shader_fragment
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#recompile_shader_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#recompile_shader_fragment
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#replace_source_vertex
-dEQP-GLES3.functional.shader_api.program_binary.binary_persistence#replace_source_fragment
-dEQP-GLES3.functional.negative_api.buffer#bind_buffer
-dEQP-GLES3.functional.negative_api.buffer#delete_buffers
-dEQP-GLES3.functional.negative_api.buffer#gen_buffers
-dEQP-GLES3.functional.negative_api.buffer#buffer_data
-dEQP-GLES3.functional.negative_api.buffer#buffer_sub_data
-dEQP-GLES3.functional.negative_api.buffer#buffer_sub_data_size_offset
-dEQP-GLES3.functional.negative_api.buffer#read_pixels_format_mismatch
-dEQP-GLES3.functional.negative_api.buffer#bind_buffer_base
-dEQP-GLES3.functional.negative_api.buffer#clear_bufferiv
-dEQP-GLES3.functional.negative_api.buffer#clear_bufferuiv
-dEQP-GLES3.functional.negative_api.buffer#clear_bufferfv
-dEQP-GLES3.functional.negative_api.buffer#clear_bufferfi
-dEQP-GLES3.functional.negative_api.buffer#copy_buffer_sub_data
-dEQP-GLES3.functional.negative_api.buffer#flush_mapped_buffer_range
-dEQP-GLES3.functional.negative_api.buffer#map_buffer_range
-dEQP-GLES3.functional.negative_api.buffer#unmap_buffer
-dEQP-GLES3.functional.negative_api.buffer#bind_framebuffer
-dEQP-GLES3.functional.negative_api.buffer#bind_renderbuffer
-dEQP-GLES3.functional.negative_api.buffer#check_framebuffer_status
-dEQP-GLES3.functional.negative_api.buffer#gen_framebuffers
-dEQP-GLES3.functional.negative_api.buffer#gen_renderbuffers
-dEQP-GLES3.functional.negative_api.buffer#delete_framebuffers
-dEQP-GLES3.functional.negative_api.buffer#delete_renderbuffers
-dEQP-GLES3.functional.negative_api.buffer#framebuffer_renderbuffer
-dEQP-GLES3.functional.negative_api.buffer#blit_framebuffer
-dEQP-GLES3.functional.negative_api.texture#activetexture
-dEQP-GLES3.functional.negative_api.texture#bindtexture
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_invalid_target
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_invalid_format
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_max_width_height
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_invalid_border
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_invalid_size
-dEQP-GLES3.functional.negative_api.texture#compressedteximage2d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_invalid_target
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_invalid_format
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_inequal_width_height_cube
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_max_width_height
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_invalid_border
-dEQP-GLES3.functional.negative_api.texture#copyteximage2d_incomplete_framebuffer
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_invalid_target
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage2d_incomplete_framebuffer
-dEQP-GLES3.functional.negative_api.texture#deletetextures
-dEQP-GLES3.functional.negative_api.texture#gentextures
-dEQP-GLES3.functional.negative_api.texture#pixelstorei
-dEQP-GLES3.functional.negative_api.texture#teximage2d
-dEQP-GLES3.functional.negative_api.texture#teximage2d_inequal_width_height_cube
-dEQP-GLES3.functional.negative_api.texture#teximage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#teximage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#teximage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#teximage2d_max_width_height
-dEQP-GLES3.functional.negative_api.texture#teximage2d_invalid_border
-dEQP-GLES3.functional.negative_api.texture#teximage2d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#texsubimage2d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#texparameteri
-dEQP-GLES3.functional.negative_api.texture#texparameterf
-dEQP-GLES3.functional.negative_api.texture#texparameteriv
-dEQP-GLES3.functional.negative_api.texture#texparameterfv
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_neg_level
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_invalid_size
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#teximage3d_neg_level
-dEQP-GLES3.functional.negative_api.texture#teximage3d_max_level
-dEQP-GLES3.functional.negative_api.texture#teximage3d_neg_width_height_depth
-dEQP-GLES3.functional.negative_api.texture#teximage3d_max_width_height_depth
-dEQP-GLES3.functional.negative_api.texture#teximage3d_invalid_border
-dEQP-GLES3.functional.negative_api.texture#teximage3d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_neg_level
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_max_level
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#texsubimage3d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_neg_level
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_max_level
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_neg_width_height
-dEQP-GLES3.functional.negative_api.texture#copytexsubimage3d_incomplete_framebuffer
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_neg_level
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_neg_width_height_depth
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_max_width_height_depth
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_invalid_border
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_invalid_size
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_invalid_buffer_target
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_neg_level
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_neg_offset
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_invalid_offset
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_neg_width_height_depth
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_invalid_size
-dEQP-GLES3.functional.negative_api.texture#texstorage2d_invalid_binding
-dEQP-GLES3.functional.negative_api.texture#texstorage3d_invalid_binding
-dEQP-GLES3.functional.negative_api.shader#create_shader
-dEQP-GLES3.functional.negative_api.shader#compile_shader
-dEQP-GLES3.functional.negative_api.shader#delete_shader
-dEQP-GLES3.functional.negative_api.shader#attach_shader
-dEQP-GLES3.functional.negative_api.shader#detach_shader
-dEQP-GLES3.functional.negative_api.shader#link_program
-dEQP-GLES3.functional.negative_api.shader#use_program
-dEQP-GLES3.functional.negative_api.shader#delete_program
-dEQP-GLES3.functional.negative_api.shader#validate_program
-dEQP-GLES3.functional.negative_api.shader#get_program_binary
-dEQP-GLES3.functional.negative_api.shader#gen_samplers
-dEQP-GLES3.functional.negative_api.shader#bind_sampler
-dEQP-GLES3.functional.negative_api.shader#delete_samplers
-dEQP-GLES3.functional.negative_api.shader#get_sampler_parameteriv
-dEQP-GLES3.functional.negative_api.shader#get_sampler_parameterfv
-dEQP-GLES3.functional.negative_api.shader#sampler_parameteri
-dEQP-GLES3.functional.negative_api.shader#sampler_parameteriv
-dEQP-GLES3.functional.negative_api.shader#sampler_parameterf
-dEQP-GLES3.functional.negative_api.shader#sampler_parameterfv
-dEQP-GLES3.functional.negative_api.shader#get_attrib_location
-dEQP-GLES3.functional.negative_api.shader#get_uniform_location
-dEQP-GLES3.functional.negative_api.shader#bind_attrib_location
-dEQP-GLES3.functional.negative_api.shader#uniform_block_binding
-dEQP-GLES3.functional.negative_api.shader#uniformf_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformf_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformf_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformfv_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformfv_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformfv_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformfv_invalid_count
-dEQP-GLES3.functional.negative_api.shader#uniformi_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformi_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformi_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformiv_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformiv_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformiv_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformiv_invalid_count
-dEQP-GLES3.functional.negative_api.shader#uniformui_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformui_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformui_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformuiv_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniformuiv_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniformuiv_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniformuiv_invalid_count
-dEQP-GLES3.functional.negative_api.shader#uniform_matrixfv_invalid_program
-dEQP-GLES3.functional.negative_api.shader#uniform_matrixfv_incompatible_type
-dEQP-GLES3.functional.negative_api.shader#uniform_matrixfv_invalid_location
-dEQP-GLES3.functional.negative_api.shader#uniform_matrixfv_invalid_count
-dEQP-GLES3.functional.negative_api.shader#gen_transform_feedbacks
-dEQP-GLES3.functional.negative_api.shader#bind_transform_feedback
-dEQP-GLES3.functional.negative_api.shader#delete_transform_feedbacks
-dEQP-GLES3.functional.negative_api.shader#begin_transform_feedback
-dEQP-GLES3.functional.negative_api.shader#pause_transform_feedback
-dEQP-GLES3.functional.negative_api.shader#resume_transform_feedback
-dEQP-GLES3.functional.negative_api.shader#end_transform_feedback
-dEQP-GLES3.functional.negative_api.shader#get_transform_feedback_varying
-dEQP-GLES3.functional.negative_api.shader#transform_feedback_varyings
-dEQP-GLES3.functional.negative_api.fragment#scissor
-dEQP-GLES3.functional.negative_api.fragment#depth_func
-dEQP-GLES3.functional.negative_api.fragment#viewport
-dEQP-GLES3.functional.negative_api.fragment#stencil_func
-dEQP-GLES3.functional.negative_api.fragment#stencil_func_separate
-dEQP-GLES3.functional.negative_api.fragment#stencil_op
-dEQP-GLES3.functional.negative_api.fragment#stencil_op_separate
-dEQP-GLES3.functional.negative_api.fragment#stencil_mask_separate
-dEQP-GLES3.functional.negative_api.fragment#blend_equation
-dEQP-GLES3.functional.negative_api.fragment#blend_equation_separate
-dEQP-GLES3.functional.negative_api.fragment#blend_func
-dEQP-GLES3.functional.negative_api.fragment#blend_func_separate
-dEQP-GLES3.functional.negative_api.fragment#cull_face
-dEQP-GLES3.functional.negative_api.fragment#front_face
-dEQP-GLES3.functional.negative_api.fragment#line_width
-dEQP-GLES3.functional.negative_api.fragment#gen_queries
-dEQP-GLES3.functional.negative_api.fragment#begin_query
-dEQP-GLES3.functional.negative_api.fragment#end_query
-dEQP-GLES3.functional.negative_api.fragment#delete_queries
-dEQP-GLES3.functional.negative_api.fragment#fence_sync
-dEQP-GLES3.functional.negative_api.fragment#wait_sync
-dEQP-GLES3.functional.negative_api.fragment#client_wait_sync
-dEQP-GLES3.functional.negative_api.fragment#delete_sync
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attribf
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attribfv
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attribi4
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attribi4v
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attrib_pointer
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attrib_i_pointer
-dEQP-GLES3.functional.negative_api.vertex_array#enable_vertex_attrib_array
-dEQP-GLES3.functional.negative_api.vertex_array#disable_vertex_attrib_array
-dEQP-GLES3.functional.negative_api.vertex_array#gen_vertex_arrays
-dEQP-GLES3.functional.negative_api.vertex_array#bind_vertex_array
-dEQP-GLES3.functional.negative_api.vertex_array#delete_vertex_arrays
-dEQP-GLES3.functional.negative_api.vertex_array#vertex_attrib_divisor
-dEQP-GLES3.functional.negative_api.vertex_array#draw_arrays
-dEQP-GLES3.functional.negative_api.vertex_array#draw_arrays_invalid_program
-dEQP-GLES3.functional.negative_api.vertex_array#draw_elements_invalid_program
-dEQP-GLES3.functional.negative_api.vertex_array#draw_arrays_instanced
-dEQP-GLES3.functional.negative_api.vertex_array#draw_arrays_instanced_invalid_program
-dEQP-GLES3.functional.negative_api.vertex_array#draw_elements_instanced_invalid_program
-dEQP-GLES3.functional.negative_api.vertex_array#draw_range_elements_invalid_program
-dEQP-GLES3.functional.negative_api.state#enable
-dEQP-GLES3.functional.negative_api.state#disable
-dEQP-GLES3.functional.negative_api.state#get_booleanv
-dEQP-GLES3.functional.negative_api.state#get_floatv
-dEQP-GLES3.functional.negative_api.state#get_integerv
-dEQP-GLES3.functional.negative_api.state#get_integer64v
-dEQP-GLES3.functional.negative_api.state#get_integeri_v
-dEQP-GLES3.functional.negative_api.state#get_integer64i_v
-dEQP-GLES3.functional.negative_api.state#get_string
-dEQP-GLES3.functional.negative_api.state#get_stringi
-dEQP-GLES3.functional.negative_api.state#get_attached_shaders
-dEQP-GLES3.functional.negative_api.state#get_shaderiv
-dEQP-GLES3.functional.negative_api.state#get_shader_info_log
-dEQP-GLES3.functional.negative_api.state#get_shader_precision_format
-dEQP-GLES3.functional.negative_api.state#get_shader_source
-dEQP-GLES3.functional.negative_api.state#get_programiv
-dEQP-GLES3.functional.negative_api.state#get_program_info_log
-dEQP-GLES3.functional.negative_api.state#get_tex_parameterfv
-dEQP-GLES3.functional.negative_api.state#get_tex_parameteriv
-dEQP-GLES3.functional.negative_api.state#get_uniformfv
-dEQP-GLES3.functional.negative_api.state#get_uniformiv
-dEQP-GLES3.functional.negative_api.state#get_uniformuiv
-dEQP-GLES3.functional.negative_api.state#get_active_uniform
-dEQP-GLES3.functional.negative_api.state#get_active_uniformsiv
-dEQP-GLES3.functional.negative_api.state#get_active_uniform_blockiv
-dEQP-GLES3.functional.negative_api.state#get_active_uniform_block_name
-dEQP-GLES3.functional.negative_api.state#get_active_attrib
-dEQP-GLES3.functional.negative_api.state#get_uniform_indices
-dEQP-GLES3.functional.negative_api.state#get_vertex_attribfv
-dEQP-GLES3.functional.negative_api.state#get_vertex_attribiv
-dEQP-GLES3.functional.negative_api.state#get_vertex_attribi_iv
-dEQP-GLES3.functional.negative_api.state#get_vertex_attribi_uiv
-dEQP-GLES3.functional.negative_api.state#get_vertex_attrib_pointerv
-dEQP-GLES3.functional.negative_api.state#get_frag_data_location
-dEQP-GLES3.functional.negative_api.state#get_buffer_parameteriv
-dEQP-GLES3.functional.negative_api.state#get_buffer_parameteri64v
-dEQP-GLES3.functional.negative_api.state#get_buffer_pointerv
-dEQP-GLES3.functional.negative_api.state#get_renderbuffer_parameteriv
-dEQP-GLES3.functional.negative_api.state#get_queryiv
-dEQP-GLES3.functional.negative_api.state#get_query_objectuiv
-dEQP-GLES3.functional.negative_api.state#get_synciv
-dEQP-GLES3.functional.negative_api.state#is_enabled
-dEQP-GLES3.functional.negative_api.state#hint
-dEQP-GLES3.functional.negative_api.state#is_buffer
-dEQP-GLES3.functional.negative_api.state#is_framebuffer
-dEQP-GLES3.functional.negative_api.state#is_program
-dEQP-GLES3.functional.negative_api.state#is_renderbuffer
-dEQP-GLES3.functional.negative_api.state#is_shader
-dEQP-GLES3.functional.negative_api.state#is_texture
-dEQP-GLES3.functional.negative_api.state#is_query
-dEQP-GLES3.functional.negative_api.state#is_sampler
-dEQP-GLES3.functional.negative_api.state#is_sync
-dEQP-GLES3.functional.negative_api.state#is_transform_feedback
-dEQP-GLES3.functional.negative_api.state#is_vertex_array
-dEQP-GLES3.functional.multisample.default_framebuffer#num_samples_polygon
-dEQP-GLES3.functional.multisample.default_framebuffer#num_samples_line
-dEQP-GLES3.functional.multisample.default_framebuffer#common_edge_small_quads
-dEQP-GLES3.functional.multisample.default_framebuffer#common_edge_big_quad
-dEQP-GLES3.functional.multisample.default_framebuffer#common_edge_viewport_quad
-dEQP-GLES3.functional.multisample.default_framebuffer#depth
-dEQP-GLES3.functional.multisample.default_framebuffer#sample_coverage_invert
-dEQP-GLES3.functional.multisample.default_framebuffer#proportionality_alpha_to_coverage
-dEQP-GLES3.functional.multisample.default_framebuffer#proportionality_sample_coverage
-dEQP-GLES3.functional.multisample.default_framebuffer#proportionality_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.default_framebuffer#constancy_alpha_to_coverage
-dEQP-GLES3.functional.multisample.default_framebuffer#constancy_sample_coverage
-dEQP-GLES3.functional.multisample.default_framebuffer#constancy_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.default_framebuffer#constancy_both
-dEQP-GLES3.functional.multisample.default_framebuffer#constancy_both_inverted
-dEQP-GLES3.functional.multisample.fbo_4_samples#num_samples_polygon
-dEQP-GLES3.functional.multisample.fbo_4_samples#num_samples_line
-dEQP-GLES3.functional.multisample.fbo_4_samples#common_edge_small_quads
-dEQP-GLES3.functional.multisample.fbo_4_samples#common_edge_big_quad
-dEQP-GLES3.functional.multisample.fbo_4_samples#common_edge_viewport_quad
-dEQP-GLES3.functional.multisample.fbo_4_samples#depth
-dEQP-GLES3.functional.multisample.fbo_4_samples#sample_coverage_invert
-dEQP-GLES3.functional.multisample.fbo_4_samples#proportionality_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_4_samples#proportionality_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_4_samples#proportionality_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_4_samples#constancy_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_4_samples#constancy_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_4_samples#constancy_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_4_samples#constancy_both
-dEQP-GLES3.functional.multisample.fbo_4_samples#constancy_both_inverted
-dEQP-GLES3.functional.multisample.fbo_8_samples#num_samples_polygon
-dEQP-GLES3.functional.multisample.fbo_8_samples#num_samples_line
-dEQP-GLES3.functional.multisample.fbo_8_samples#common_edge_small_quads
-dEQP-GLES3.functional.multisample.fbo_8_samples#common_edge_big_quad
-dEQP-GLES3.functional.multisample.fbo_8_samples#common_edge_viewport_quad
-dEQP-GLES3.functional.multisample.fbo_8_samples#depth
-dEQP-GLES3.functional.multisample.fbo_8_samples#stencil
-dEQP-GLES3.functional.multisample.fbo_8_samples#sample_coverage_invert
-dEQP-GLES3.functional.multisample.fbo_8_samples#proportionality_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_8_samples#proportionality_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_8_samples#proportionality_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_8_samples#constancy_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_8_samples#constancy_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_8_samples#constancy_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_8_samples#constancy_both
-dEQP-GLES3.functional.multisample.fbo_8_samples#constancy_both_inverted
-dEQP-GLES3.functional.multisample.fbo_max_samples#num_samples_polygon
-dEQP-GLES3.functional.multisample.fbo_max_samples#num_samples_line
-dEQP-GLES3.functional.multisample.fbo_max_samples#common_edge_small_quads
-dEQP-GLES3.functional.multisample.fbo_max_samples#common_edge_big_quad
-dEQP-GLES3.functional.multisample.fbo_max_samples#common_edge_viewport_quad
-dEQP-GLES3.functional.multisample.fbo_max_samples#depth
-dEQP-GLES3.functional.multisample.fbo_max_samples#sample_coverage_invert
-dEQP-GLES3.functional.multisample.fbo_max_samples#proportionality_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_max_samples#proportionality_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_max_samples#proportionality_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_max_samples#constancy_alpha_to_coverage
-dEQP-GLES3.functional.multisample.fbo_max_samples#constancy_sample_coverage
-dEQP-GLES3.functional.multisample.fbo_max_samples#constancy_sample_coverage_inverted
-dEQP-GLES3.functional.multisample.fbo_max_samples#constancy_both
-dEQP-GLES3.functional.multisample.fbo_max_samples#constancy_both_inverted
-dEQP-GLES3.functional.read_pixels.alignment#rgba_ubyte_1
-dEQP-GLES3.functional.read_pixels.alignment#rgba_ubyte_2
-dEQP-GLES3.functional.read_pixels.alignment#rgba_ubyte_4
-dEQP-GLES3.functional.read_pixels.alignment#rgba_ubyte_8
-dEQP-GLES3.functional.read_pixels.alignment#rgba_int_1
-dEQP-GLES3.functional.read_pixels.alignment#rgba_int_2
-dEQP-GLES3.functional.read_pixels.alignment#rgba_int_4
-dEQP-GLES3.functional.read_pixels.alignment#rgba_int_8
-dEQP-GLES3.functional.read_pixels.alignment#rgba_uint_1
-dEQP-GLES3.functional.read_pixels.alignment#rgba_uint_2
-dEQP-GLES3.functional.read_pixels.alignment#rgba_uint_4
-dEQP-GLES3.functional.read_pixels.alignment#rgba_uint_8
-dEQP-GLES3.functional.read_pixels.alignment#choose_1
-dEQP-GLES3.functional.read_pixels.alignment#choose_2
-dEQP-GLES3.functional.read_pixels.alignment#choose_4
-dEQP-GLES3.functional.read_pixels.alignment#choose_8
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_ubyte_17
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_ubyte_19
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_ubyte_23
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_ubyte_29
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_int_17
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_int_19
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_int_23
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_int_29
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_uint_17
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_uint_19
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_uint_23
-dEQP-GLES3.functional.read_pixels.rowlength#rgba_uint_29
-dEQP-GLES3.functional.read_pixels.rowlength#choose_17
-dEQP-GLES3.functional.read_pixels.rowlength#choose_19
-dEQP-GLES3.functional.read_pixels.rowlength#choose_23
-dEQP-GLES3.functional.read_pixels.rowlength#choose_29
-dEQP-GLES3.functional.read_pixels.skip#rgba_ubyte_0_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_ubyte_3_0
-dEQP-GLES3.functional.read_pixels.skip#rgba_ubyte_3_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_ubyte_3_5
-dEQP-GLES3.functional.read_pixels.skip#rgba_int_0_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_int_3_0
-dEQP-GLES3.functional.read_pixels.skip#rgba_int_3_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_int_3_5
-dEQP-GLES3.functional.read_pixels.skip#rgba_uint_0_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_uint_3_0
-dEQP-GLES3.functional.read_pixels.skip#rgba_uint_3_3
-dEQP-GLES3.functional.read_pixels.skip#rgba_uint_3_5
-dEQP-GLES3.functional.read_pixels.skip#choose_0_3
-dEQP-GLES3.functional.read_pixels.skip#choose_3_0
-dEQP-GLES3.functional.read_pixels.skip#choose_3_3
-dEQP-GLES3.functional.read_pixels.skip#choose_3_5
-dEQP-GLES3.functional.dither.disabled#gradient_white
-dEQP-GLES3.functional.dither.disabled#gradient_red
-dEQP-GLES3.functional.dither.disabled#gradient_green
-dEQP-GLES3.functional.dither.disabled#gradient_blue
-dEQP-GLES3.functional.dither.disabled#gradient_alpha
-dEQP-GLES3.functional.dither.disabled#unicolored_quad_white
-dEQP-GLES3.functional.dither.disabled#unicolored_quad_red
-dEQP-GLES3.functional.dither.disabled#unicolored_quad_green
-dEQP-GLES3.functional.dither.disabled#unicolored_quad_blue
-dEQP-GLES3.functional.dither.disabled#unicolored_quad_alpha
-dEQP-GLES3.functional.dither.enabled#gradient_white
-dEQP-GLES3.functional.dither.enabled#gradient_red
-dEQP-GLES3.functional.dither.enabled#gradient_green
-dEQP-GLES3.functional.dither.enabled#gradient_blue
-dEQP-GLES3.functional.dither.enabled#gradient_alpha
-dEQP-GLES3.functional.dither.enabled#unicolored_quad_white
-dEQP-GLES3.functional.dither.enabled#unicolored_quad_red
-dEQP-GLES3.functional.dither.enabled#unicolored_quad_green
-dEQP-GLES3.functional.dither.enabled#unicolored_quad_blue
-dEQP-GLES3.functional.dither.enabled#unicolored_quad_alpha
-dEQP-GLES3.functional.state_query.boolean#primitive_restart_fixed_index_isenabled
-dEQP-GLES3.functional.state_query.boolean#primitive_restart_fixed_index_getboolean
-dEQP-GLES3.functional.state_query.boolean#primitive_restart_fixed_index_getinteger
-dEQP-GLES3.functional.state_query.boolean#primitive_restart_fixed_index_getinteger64
-dEQP-GLES3.functional.state_query.boolean#primitive_restart_fixed_index_getfloat
-dEQP-GLES3.functional.state_query.boolean#cull_face_isenabled
-dEQP-GLES3.functional.state_query.boolean#cull_face_getboolean
-dEQP-GLES3.functional.state_query.boolean#cull_face_getinteger
-dEQP-GLES3.functional.state_query.boolean#cull_face_getinteger64
-dEQP-GLES3.functional.state_query.boolean#cull_face_getfloat
-dEQP-GLES3.functional.state_query.boolean#polygon_offset_fill_isenabled
-dEQP-GLES3.functional.state_query.boolean#polygon_offset_fill_getboolean
-dEQP-GLES3.functional.state_query.boolean#polygon_offset_fill_getinteger
-dEQP-GLES3.functional.state_query.boolean#polygon_offset_fill_getinteger64
-dEQP-GLES3.functional.state_query.boolean#polygon_offset_fill_getfloat
-dEQP-GLES3.functional.state_query.boolean#sample_alpha_to_coverage_isenabled
-dEQP-GLES3.functional.state_query.boolean#sample_alpha_to_coverage_getboolean
-dEQP-GLES3.functional.state_query.boolean#sample_alpha_to_coverage_getinteger
-dEQP-GLES3.functional.state_query.boolean#sample_alpha_to_coverage_getinteger64
-dEQP-GLES3.functional.state_query.boolean#sample_alpha_to_coverage_getfloat
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_isenabled
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_getboolean
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_getinteger
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_getinteger64
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_getfloat
-dEQP-GLES3.functional.state_query.boolean#scissor_test_isenabled
-dEQP-GLES3.functional.state_query.boolean#scissor_test_getboolean
-dEQP-GLES3.functional.state_query.boolean#scissor_test_getinteger
-dEQP-GLES3.functional.state_query.boolean#scissor_test_getinteger64
-dEQP-GLES3.functional.state_query.boolean#scissor_test_getfloat
-dEQP-GLES3.functional.state_query.boolean#stencil_test_isenabled
-dEQP-GLES3.functional.state_query.boolean#stencil_test_getboolean
-dEQP-GLES3.functional.state_query.boolean#stencil_test_getinteger
-dEQP-GLES3.functional.state_query.boolean#stencil_test_getinteger64
-dEQP-GLES3.functional.state_query.boolean#stencil_test_getfloat
-dEQP-GLES3.functional.state_query.boolean#depth_test_isenabled
-dEQP-GLES3.functional.state_query.boolean#depth_test_getboolean
-dEQP-GLES3.functional.state_query.boolean#depth_test_getinteger
-dEQP-GLES3.functional.state_query.boolean#depth_test_getinteger64
-dEQP-GLES3.functional.state_query.boolean#depth_test_getfloat
-dEQP-GLES3.functional.state_query.boolean#blend_isenabled
-dEQP-GLES3.functional.state_query.boolean#blend_getboolean
-dEQP-GLES3.functional.state_query.boolean#blend_getinteger
-dEQP-GLES3.functional.state_query.boolean#blend_getinteger64
-dEQP-GLES3.functional.state_query.boolean#blend_getfloat
-dEQP-GLES3.functional.state_query.boolean#dither_isenabled
-dEQP-GLES3.functional.state_query.boolean#dither_getboolean
-dEQP-GLES3.functional.state_query.boolean#dither_getinteger
-dEQP-GLES3.functional.state_query.boolean#dither_getinteger64
-dEQP-GLES3.functional.state_query.boolean#dither_getfloat
-dEQP-GLES3.functional.state_query.boolean#color_writemask_getboolean
-dEQP-GLES3.functional.state_query.boolean#color_writemask_getinteger
-dEQP-GLES3.functional.state_query.boolean#color_writemask_getinteger64
-dEQP-GLES3.functional.state_query.boolean#color_writemask_getfloat
-dEQP-GLES3.functional.state_query.boolean#depth_writemask_getboolean
-dEQP-GLES3.functional.state_query.boolean#depth_writemask_getinteger
-dEQP-GLES3.functional.state_query.boolean#depth_writemask_getinteger64
-dEQP-GLES3.functional.state_query.boolean#depth_writemask_getfloat
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_invert_getboolean
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_invert_getinteger
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_invert_getinteger64
-dEQP-GLES3.functional.state_query.boolean#sample_coverage_invert_getfloat
-dEQP-GLES3.functional.state_query.boolean#shader_compiler_getboolean
-dEQP-GLES3.functional.state_query.boolean#shader_compiler_getinteger
-dEQP-GLES3.functional.state_query.boolean#shader_compiler_getinteger64
-dEQP-GLES3.functional.state_query.boolean#shader_compiler_getfloat
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_active_initial_getboolean
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_active_initial_getinteger
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_active_initial_getinteger64
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_active_initial_getfloat
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_paused_initial_getboolean
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_paused_initial_getinteger
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_paused_initial_getinteger64
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_paused_initial_getfloat
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_getboolean
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_getinteger
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_getinteger64
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_getfloat
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_implicit_resume_getboolean
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_implicit_resume_getinteger
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_implicit_resume_getinteger64
-dEQP-GLES3.functional.state_query.boolean#transform_feedback_implicit_resume_getfloat
-dEQP-GLES3.functional.state_query.integers#subpixel_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#subpixel_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#subpixel_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#max_3d_texture_size_getboolean
-dEQP-GLES3.functional.state_query.integers#max_3d_texture_size_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_3d_texture_size_getfloat
-dEQP-GLES3.functional.state_query.integers#max_texture_size_getboolean
-dEQP-GLES3.functional.state_query.integers#max_texture_size_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_texture_size_getfloat
-dEQP-GLES3.functional.state_query.integers#max_array_texture_layers_getboolean
-dEQP-GLES3.functional.state_query.integers#max_array_texture_layers_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_array_texture_layers_getfloat
-dEQP-GLES3.functional.state_query.integers#max_cube_map_texture_size_getboolean
-dEQP-GLES3.functional.state_query.integers#max_cube_map_texture_size_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_cube_map_texture_size_getfloat
-dEQP-GLES3.functional.state_query.integers#max_renderbuffer_size_getboolean
-dEQP-GLES3.functional.state_query.integers#max_renderbuffer_size_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_renderbuffer_size_getfloat
-dEQP-GLES3.functional.state_query.integers#max_draw_buffers_getboolean
-dEQP-GLES3.functional.state_query.integers#max_draw_buffers_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_draw_buffers_getfloat
-dEQP-GLES3.functional.state_query.integers#max_color_attachments_getboolean
-dEQP-GLES3.functional.state_query.integers#max_color_attachments_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_color_attachments_getfloat
-dEQP-GLES3.functional.state_query.integers#max_elements_indices_getboolean
-dEQP-GLES3.functional.state_query.integers#max_elements_indices_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_elements_indices_getfloat
-dEQP-GLES3.functional.state_query.integers#max_elements_vertices_getboolean
-dEQP-GLES3.functional.state_query.integers#max_elements_vertices_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_elements_vertices_getfloat
-dEQP-GLES3.functional.state_query.integers#num_extensions_getboolean
-dEQP-GLES3.functional.state_query.integers#num_extensions_getinteger64
-dEQP-GLES3.functional.state_query.integers#num_extensions_getfloat
-dEQP-GLES3.functional.state_query.integers#major_version_getboolean
-dEQP-GLES3.functional.state_query.integers#major_version_getinteger64
-dEQP-GLES3.functional.state_query.integers#major_version_getfloat
-dEQP-GLES3.functional.state_query.integers#minor_version_getboolean
-dEQP-GLES3.functional.state_query.integers#minor_version_getinteger64
-dEQP-GLES3.functional.state_query.integers#minor_version_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_attribs_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_attribs_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_attribs_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_vectors_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_vectors_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_vectors_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_blocks_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_blocks_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_uniform_blocks_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_output_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_output_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_output_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_vertex_texture_image_units_getboolean
-dEQP-GLES3.functional.state_query.integers#max_vertex_texture_image_units_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_vertex_texture_image_units_getfloat
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_vectors_getboolean
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_vectors_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_vectors_getfloat
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_blocks_getboolean
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_blocks_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_fragment_uniform_blocks_getfloat
-dEQP-GLES3.functional.state_query.integers#max_fragment_input_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_fragment_input_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_fragment_input_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_texture_image_units_getboolean
-dEQP-GLES3.functional.state_query.integers#max_texture_image_units_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_texture_image_units_getfloat
-dEQP-GLES3.functional.state_query.integers#max_program_texel_offset_getboolean
-dEQP-GLES3.functional.state_query.integers#max_program_texel_offset_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_program_texel_offset_getfloat
-dEQP-GLES3.functional.state_query.integers#max_uniform_buffer_bindings_getboolean
-dEQP-GLES3.functional.state_query.integers#max_uniform_buffer_bindings_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_uniform_buffer_bindings_getfloat
-dEQP-GLES3.functional.state_query.integers#max_combined_uniform_blocks_getboolean
-dEQP-GLES3.functional.state_query.integers#max_combined_uniform_blocks_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_combined_uniform_blocks_getfloat
-dEQP-GLES3.functional.state_query.integers#max_varying_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_varying_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_varying_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_varying_vectors_getboolean
-dEQP-GLES3.functional.state_query.integers#max_varying_vectors_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_varying_vectors_getfloat
-dEQP-GLES3.functional.state_query.integers#max_combined_texture_image_units_getboolean
-dEQP-GLES3.functional.state_query.integers#max_combined_texture_image_units_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_combined_texture_image_units_getfloat
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_interleaved_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_interleaved_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_interleaved_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_attribs_getboolean
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_attribs_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_attribs_getfloat
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_components_getboolean
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_components_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_transform_feedback_separate_components_getfloat
-dEQP-GLES3.functional.state_query.integers#max_samples_getboolean
-dEQP-GLES3.functional.state_query.integers#max_samples_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_samples_getfloat
-dEQP-GLES3.functional.state_query.integers#red_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#red_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#red_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#green_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#green_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#green_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#blue_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#blue_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#blue_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#alpha_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#alpha_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#alpha_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#depth_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#depth_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#depth_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_bits_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_bits_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_bits_getfloat
-dEQP-GLES3.functional.state_query.integers#min_program_texel_offset_getboolean
-dEQP-GLES3.functional.state_query.integers#min_program_texel_offset_getinteger64
-dEQP-GLES3.functional.state_query.integers#min_program_texel_offset_getfloat
-dEQP-GLES3.functional.state_query.integers#uniform_buffer_offset_alignment_getboolean
-dEQP-GLES3.functional.state_query.integers#uniform_buffer_offset_alignment_getinteger64
-dEQP-GLES3.functional.state_query.integers#uniform_buffer_offset_alignment_getfloat
-dEQP-GLES3.functional.state_query.integers#sample_buffers_getboolean
-dEQP-GLES3.functional.state_query.integers#sample_buffers_getinteger64
-dEQP-GLES3.functional.state_query.integers#sample_buffers_getfloat
-dEQP-GLES3.functional.state_query.integers#samples_getboolean
-dEQP-GLES3.functional.state_query.integers#samples_getinteger
-dEQP-GLES3.functional.state_query.integers#samples_getinteger64
-dEQP-GLES3.functional.state_query.integers#samples_getfloat
-dEQP-GLES3.functional.state_query.integers#generate_mipmap_hint_getboolean
-dEQP-GLES3.functional.state_query.integers#generate_mipmap_hint_getinteger
-dEQP-GLES3.functional.state_query.integers#generate_mipmap_hint_getinteger64
-dEQP-GLES3.functional.state_query.integers#generate_mipmap_hint_getfloat
-dEQP-GLES3.functional.state_query.integers#fragment_shader_derivative_hint_getboolean
-dEQP-GLES3.functional.state_query.integers#fragment_shader_derivative_hint_getinteger
-dEQP-GLES3.functional.state_query.integers#fragment_shader_derivative_hint_getinteger64
-dEQP-GLES3.functional.state_query.integers#fragment_shader_derivative_hint_getfloat
-dEQP-GLES3.functional.state_query.integers#depth_func_getboolean
-dEQP-GLES3.functional.state_query.integers#depth_func_getinteger
-dEQP-GLES3.functional.state_query.integers#depth_func_getinteger64
-dEQP-GLES3.functional.state_query.integers#depth_func_getfloat
-dEQP-GLES3.functional.state_query.integers#cull_face_mode_getboolean
-dEQP-GLES3.functional.state_query.integers#cull_face_mode_getinteger
-dEQP-GLES3.functional.state_query.integers#cull_face_mode_getinteger64
-dEQP-GLES3.functional.state_query.integers#cull_face_mode_getfloat
-dEQP-GLES3.functional.state_query.integers#front_face_mode_getboolean
-dEQP-GLES3.functional.state_query.integers#front_face_mode_getinteger
-dEQP-GLES3.functional.state_query.integers#front_face_mode_getinteger64
-dEQP-GLES3.functional.state_query.integers#front_face_mode_getfloat
-dEQP-GLES3.functional.state_query.integers#viewport_getboolean
-dEQP-GLES3.functional.state_query.integers#viewport_getinteger
-dEQP-GLES3.functional.state_query.integers#viewport_getinteger64
-dEQP-GLES3.functional.state_query.integers#viewport_getfloat
-dEQP-GLES3.functional.state_query.integers#scissor_box_getboolean
-dEQP-GLES3.functional.state_query.integers#scissor_box_getinteger
-dEQP-GLES3.functional.state_query.integers#scissor_box_getinteger64
-dEQP-GLES3.functional.state_query.integers#scissor_box_getfloat
-dEQP-GLES3.functional.state_query.integers#max_viewport_dims_getboolean
-dEQP-GLES3.functional.state_query.integers#max_viewport_dims_getinteger
-dEQP-GLES3.functional.state_query.integers#max_viewport_dims_getinteger64
-dEQP-GLES3.functional.state_query.integers#max_viewport_dims_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_ref_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_ref_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_ref_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_ref_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_ref_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_ref_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_fail_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_fail_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_fail_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_fail_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_fail_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_fail_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_fail_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_fail_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_depth_pass_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_depth_pass_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_func_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_func_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_func_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_func_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_func_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_func_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_writemask_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_both_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_both_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_both_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_writemask_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_image_height_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_image_height_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_image_height_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_image_height_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_skip_images_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_skip_images_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_skip_images_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_skip_images_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_row_length_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_row_length_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_row_length_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_row_length_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_skip_rows_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_skip_rows_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_skip_rows_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_skip_rows_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_skip_pixels_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_skip_pixels_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_skip_pixels_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_skip_pixels_getfloat
-dEQP-GLES3.functional.state_query.integers#pack_row_length_getboolean
-dEQP-GLES3.functional.state_query.integers#pack_row_length_getinteger
-dEQP-GLES3.functional.state_query.integers#pack_row_length_getinteger64
-dEQP-GLES3.functional.state_query.integers#pack_row_length_getfloat
-dEQP-GLES3.functional.state_query.integers#pack_skip_rows_getboolean
-dEQP-GLES3.functional.state_query.integers#pack_skip_rows_getinteger
-dEQP-GLES3.functional.state_query.integers#pack_skip_rows_getinteger64
-dEQP-GLES3.functional.state_query.integers#pack_skip_rows_getfloat
-dEQP-GLES3.functional.state_query.integers#pack_skip_pixels_getboolean
-dEQP-GLES3.functional.state_query.integers#pack_skip_pixels_getinteger
-dEQP-GLES3.functional.state_query.integers#pack_skip_pixels_getinteger64
-dEQP-GLES3.functional.state_query.integers#pack_skip_pixels_getfloat
-dEQP-GLES3.functional.state_query.integers#unpack_alignment_getboolean
-dEQP-GLES3.functional.state_query.integers#unpack_alignment_getinteger
-dEQP-GLES3.functional.state_query.integers#unpack_alignment_getinteger64
-dEQP-GLES3.functional.state_query.integers#unpack_alignment_getfloat
-dEQP-GLES3.functional.state_query.integers#pack_alignment_getboolean
-dEQP-GLES3.functional.state_query.integers#pack_alignment_getinteger
-dEQP-GLES3.functional.state_query.integers#pack_alignment_getinteger64
-dEQP-GLES3.functional.state_query.integers#pack_alignment_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_src_rgb_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_src_alpha_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_dst_rgb_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_dst_alpha_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_equation_rgb_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_getfloat
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_separate_getboolean
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_separate_getinteger
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_separate_getinteger64
-dEQP-GLES3.functional.state_query.integers#blend_equation_alpha_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#compressed_texture_formats_getboolean
-dEQP-GLES3.functional.state_query.integers#compressed_texture_formats_getinteger
-dEQP-GLES3.functional.state_query.integers#compressed_texture_formats_getinteger64
-dEQP-GLES3.functional.state_query.integers#compressed_texture_formats_getfloat
-dEQP-GLES3.functional.state_query.integers#program_binary_formats_getboolean
-dEQP-GLES3.functional.state_query.integers#program_binary_formats_getinteger
-dEQP-GLES3.functional.state_query.integers#program_binary_formats_getinteger64
-dEQP-GLES3.functional.state_query.integers#program_binary_formats_getfloat
-dEQP-GLES3.functional.state_query.integers#shader_binary_formats_getboolean
-dEQP-GLES3.functional.state_query.integers#shader_binary_formats_getinteger
-dEQP-GLES3.functional.state_query.integers#shader_binary_formats_getinteger64
-dEQP-GLES3.functional.state_query.integers#shader_binary_formats_getfloat
-dEQP-GLES3.functional.state_query.integers#array_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#array_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#array_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#array_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#pixel_pack_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#pixel_pack_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#pixel_pack_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#pixel_pack_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#pixel_unpack_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#pixel_unpack_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#pixel_unpack_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#pixel_unpack_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#copy_read_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#copy_read_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#copy_read_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#copy_read_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#copy_write_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#copy_write_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#copy_write_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#copy_write_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#element_array_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#element_array_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#element_array_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#element_array_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#transform_feedback_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#transform_feedback_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#transform_feedback_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#transform_feedback_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#current_program_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#current_program_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#current_program_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#current_program_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#vertex_array_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#vertex_array_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#vertex_array_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#vertex_array_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_clear_value_getboolean
-dEQP-GLES3.functional.state_query.integers#stencil_clear_value_getinteger
-dEQP-GLES3.functional.state_query.integers#stencil_clear_value_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_clear_value_getfloat
-dEQP-GLES3.functional.state_query.integers#active_texture_getboolean
-dEQP-GLES3.functional.state_query.integers#active_texture_getinteger
-dEQP-GLES3.functional.state_query.integers#active_texture_getinteger64
-dEQP-GLES3.functional.state_query.integers#active_texture_getfloat
-dEQP-GLES3.functional.state_query.integers#renderbuffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#renderbuffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#renderbuffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#renderbuffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#sampler_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#sampler_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#sampler_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#sampler_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_getboolean
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_getinteger
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_getinteger64
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_getfloat
-dEQP-GLES3.functional.state_query.integers#texture_binding_3d_getboolean
-dEQP-GLES3.functional.state_query.integers#texture_binding_3d_getinteger
-dEQP-GLES3.functional.state_query.integers#texture_binding_3d_getinteger64
-dEQP-GLES3.functional.state_query.integers#texture_binding_3d_getfloat
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_array_getboolean
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_array_getinteger
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_array_getinteger64
-dEQP-GLES3.functional.state_query.integers#texture_binding_2d_array_getfloat
-dEQP-GLES3.functional.state_query.integers#texture_binding_cube_map_getboolean
-dEQP-GLES3.functional.state_query.integers#texture_binding_cube_map_getinteger
-dEQP-GLES3.functional.state_query.integers#texture_binding_cube_map_getinteger64
-dEQP-GLES3.functional.state_query.integers#texture_binding_cube_map_getfloat
-dEQP-GLES3.functional.state_query.integers#framebuffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#framebuffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#framebuffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.integers#framebuffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#implementation_color_read_getboolean
-dEQP-GLES3.functional.state_query.integers#implementation_color_read_getinteger
-dEQP-GLES3.functional.state_query.integers#implementation_color_read_getinteger64
-dEQP-GLES3.functional.state_query.integers#implementation_color_read_getfloat
-dEQP-GLES3.functional.state_query.integers#read_buffer_getboolean
-dEQP-GLES3.functional.state_query.integers#read_buffer_getinteger
-dEQP-GLES3.functional.state_query.integers#read_buffer_getinteger64
-dEQP-GLES3.functional.state_query.integers#read_buffer_getfloat
-dEQP-GLES3.functional.state_query.integers64#max_element_index_getboolean
-dEQP-GLES3.functional.state_query.integers64#max_element_index_getinteger
-dEQP-GLES3.functional.state_query.integers64#max_element_index_getfloat
-dEQP-GLES3.functional.state_query.integers64#max_server_wait_timeout_getboolean
-dEQP-GLES3.functional.state_query.integers64#max_server_wait_timeout_getinteger
-dEQP-GLES3.functional.state_query.integers64#max_uniform_block_size_getboolean
-dEQP-GLES3.functional.state_query.integers64#max_uniform_block_size_getinteger
-dEQP-GLES3.functional.state_query.integers64#max_uniform_block_size_getfloat
-dEQP-GLES3.functional.state_query.integers64#max_combined_vertex_uniform_components_getboolean
-dEQP-GLES3.functional.state_query.integers64#max_combined_vertex_uniform_components_getinteger
-dEQP-GLES3.functional.state_query.integers64#max_combined_vertex_uniform_components_getfloat
-dEQP-GLES3.functional.state_query.integers64#max_combined_fragment_uniform_components_getboolean
-dEQP-GLES3.functional.state_query.integers64#max_combined_fragment_uniform_components_getinteger
-dEQP-GLES3.functional.state_query.integers64#max_combined_fragment_uniform_components_getfloat
-dEQP-GLES3.functional.state_query.floats#depth_range_getboolean
-dEQP-GLES3.functional.state_query.floats#depth_range_getfloat
-dEQP-GLES3.functional.state_query.floats#line_width_getboolean
-dEQP-GLES3.functional.state_query.floats#line_width_getfloat
-dEQP-GLES3.functional.state_query.floats#polygon_offset_factor_getfloat
-dEQP-GLES3.functional.state_query.floats#polygon_offset_units_getfloat
-dEQP-GLES3.functional.state_query.floats#sample_coverage_value_getboolean
-dEQP-GLES3.functional.state_query.floats#blend_color_getboolean
-dEQP-GLES3.functional.state_query.floats#blend_color_getfloat
-dEQP-GLES3.functional.state_query.floats#color_clear_value_getboolean
-dEQP-GLES3.functional.state_query.floats#color_clear_value_getfloat
-dEQP-GLES3.functional.state_query.floats#depth_clear_value_getboolean
-dEQP-GLES3.functional.state_query.floats#depth_clear_value_getfloat
-dEQP-GLES3.functional.state_query.floats#max_texture_lod_bias_getboolean
-dEQP-GLES3.functional.state_query.floats#max_texture_lod_bias_getinteger
-dEQP-GLES3.functional.state_query.floats#max_texture_lod_bias_getinteger64
-dEQP-GLES3.functional.state_query.floats#max_texture_lod_bias_getfloat
-dEQP-GLES3.functional.state_query.floats#aliased_point_size_range_getboolean
-dEQP-GLES3.functional.state_query.floats#aliased_point_size_range_getinteger
-dEQP-GLES3.functional.state_query.floats#aliased_point_size_range_getinteger64
-dEQP-GLES3.functional.state_query.floats#aliased_point_size_range_getfloat
-dEQP-GLES3.functional.state_query.floats#aliased_line_width_range_getboolean
-dEQP-GLES3.functional.state_query.floats#aliased_line_width_range_getinteger
-dEQP-GLES3.functional.state_query.floats#aliased_line_width_range_getinteger64
-dEQP-GLES3.functional.state_query.floats#aliased_line_width_range_getfloat
-dEQP-GLES3.functional.state_query.indexed#transform_feedback_buffer_binding
-dEQP-GLES3.functional.state_query.indexed#transform_feedback_buffer_start_size
-dEQP-GLES3.functional.state_query.indexed#uniform_buffer_binding
-dEQP-GLES3.functional.state_query.indexed#uniform_buffer_start_size
-dEQP-GLES3.functional.state_query.texture#texture_2d_is_texture
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_r_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_r_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_g_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_g_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_b_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_b_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_a_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_swizzle_a_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_wrap_s_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_wrap_s_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_wrap_t_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_wrap_t_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_mag_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_mag_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_min_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_min_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_min_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_min_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_max_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_max_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_base_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_base_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_max_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_max_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_compare_mode_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_compare_mode_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_compare_func_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_compare_func_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_immutable_format_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_texture_immutable_format_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_is_texture
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_r_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_r_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_g_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_g_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_b_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_b_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_a_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_swizzle_a_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_s_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_s_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_t_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_t_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_r_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_wrap_r_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_mag_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_mag_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_min_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_min_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_min_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_min_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_max_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_max_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_base_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_base_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_max_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_max_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_compare_mode_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_compare_mode_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_compare_func_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_compare_func_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_immutable_format_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_3d_texture_immutable_format_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_is_texture
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_r_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_r_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_g_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_g_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_b_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_b_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_a_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_swizzle_a_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_wrap_s_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_wrap_s_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_mag_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_mag_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_min_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_min_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_min_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_min_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_max_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_max_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_base_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_base_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_max_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_max_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_compare_mode_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_compare_mode_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_compare_func_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_compare_func_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_immutable_format_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_2d_array_texture_immutable_format_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_is_texture
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_r_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_r_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_g_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_g_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_b_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_b_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_a_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_swizzle_a_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_wrap_s_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_wrap_s_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_wrap_t_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_wrap_t_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_mag_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_mag_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_min_filter_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_min_filter_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_min_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_min_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_max_lod_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_max_lod_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_base_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_base_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_max_level_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_max_level_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_compare_mode_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_compare_mode_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_compare_func_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_compare_func_gettexparameterf
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_immutable_format_gettexparameteri
-dEQP-GLES3.functional.state_query.texture#texture_cube_map_texture_immutable_format_gettexparameterf
-dEQP-GLES3.functional.state_query.string#renderer
-dEQP-GLES3.functional.state_query.string#vendor
-dEQP-GLES3.functional.state_query.string#version
-dEQP-GLES3.functional.state_query.string#shading_language_version
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_s_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_s_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_t_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_t_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_r_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_wrap_r_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_mag_filter_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_mag_filter_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_min_filter_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_min_filter_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_compare_mode_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_compare_mode_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_compare_func_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_compare_func_getsamplerparameterf
-dEQP-GLES3.functional.state_query.buffer_object#buffer_size_getbufferparameteri
-dEQP-GLES3.functional.state_query.buffer_object#buffer_size_getbufferparameteri64
-dEQP-GLES3.functional.state_query.buffer_object#buffer_usage_getbufferparameteri
-dEQP-GLES3.functional.state_query.buffer_object#buffer_usage_getbufferparameteri64
-dEQP-GLES3.functional.state_query.buffer_object#buffer_access_flags_getbufferparameteri
-dEQP-GLES3.functional.state_query.buffer_object#buffer_access_flags_getbufferparameteri64
-dEQP-GLES3.functional.state_query.buffer_object#buffer_mapped_getbufferparameteri
-dEQP-GLES3.functional.state_query.buffer_object#buffer_mapped_getbufferparameteri64
-dEQP-GLES3.functional.state_query.buffer_object#buffer_map_offset_length_getbufferparameteri
-dEQP-GLES3.functional.state_query.buffer_object#buffer_map_offset_length_getbufferparameteri64
-dEQP-GLES3.functional.state_query.buffer_object#buffer_pointer
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_object
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_texture_level
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_texture_layer
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_color_encoding
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_component_type
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_x_size_rbo
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_x_size_texture
-dEQP-GLES3.functional.state_query.fbo#framebuffer_unspecified_attachment_x_size_texture
-dEQP-GLES3.functional.state_query.rbo#renderbuffer_component_size_color
-dEQP-GLES3.functional.state_query.rbo#renderbuffer_component_size_depth
-dEQP-GLES3.functional.state_query.shader#shader_type
-dEQP-GLES3.functional.state_query.shader#shader_compile_status
-dEQP-GLES3.functional.state_query.shader#delete_status
-dEQP-GLES3.functional.state_query.shader#current_vertex_attrib_initial
-dEQP-GLES3.functional.state_query.shader#current_vertex_attrib_float
-dEQP-GLES3.functional.state_query.shader#current_vertex_attrib_int
-dEQP-GLES3.functional.state_query.shader#current_vertex_attrib_uint
-dEQP-GLES3.functional.state_query.shader#current_vertex_attrib_float_to_int
-dEQP-GLES3.functional.state_query.shader#program_info_log_length
-dEQP-GLES3.functional.state_query.shader#program_validate_status
-dEQP-GLES3.functional.state_query.shader#program_attached_shaders
-dEQP-GLES3.functional.state_query.shader#program_active_uniform_name
-dEQP-GLES3.functional.state_query.shader#program_active_uniform_blocks
-dEQP-GLES3.functional.state_query.shader#program_binary
-dEQP-GLES3.functional.state_query.shader#transform_feedback
-dEQP-GLES3.functional.state_query.shader#active_attributes
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_size
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_normalized
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_array_enabled
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_array_divisor
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_array_buffer_binding
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_pointerv
-dEQP-GLES3.functional.state_query.shader#uniform_value_float
-dEQP-GLES3.functional.state_query.shader#uniform_value_int
-dEQP-GLES3.functional.state_query.shader#uniform_value_uint
-dEQP-GLES3.functional.state_query.shader#uniform_value_array
-dEQP-GLES3.functional.state_query.shader#uniform_value_matrix
-dEQP-GLES3.functional.state_query.shader#precision_vertex_lowp_float
-dEQP-GLES3.functional.state_query.shader#precision_vertex_mediump_float
-dEQP-GLES3.functional.state_query.shader#precision_vertex_highp_float
-dEQP-GLES3.functional.state_query.shader#precision_vertex_lowp_int
-dEQP-GLES3.functional.state_query.shader#precision_vertex_mediump_int
-dEQP-GLES3.functional.state_query.shader#precision_vertex_highp_int
-dEQP-GLES3.functional.state_query.shader#precision_fragment_lowp_float
-dEQP-GLES3.functional.state_query.shader#precision_fragment_mediump_float
-dEQP-GLES3.functional.state_query.shader#precision_fragment_highp_float
-dEQP-GLES3.functional.state_query.shader#precision_fragment_lowp_int
-dEQP-GLES3.functional.state_query.shader#precision_fragment_mediump_int
-dEQP-GLES3.functional.state_query.shader#precision_fragment_highp_int
-dEQP-GLES3.functional.state_query.internal_format#r8_samples
-dEQP-GLES3.functional.state_query.internal_format#rg8_samples
-dEQP-GLES3.functional.state_query.internal_format#rgb8_samples
-dEQP-GLES3.functional.state_query.internal_format#rgb565_samples
-dEQP-GLES3.functional.state_query.internal_format#rgba4_samples
-dEQP-GLES3.functional.state_query.internal_format#rgb5_a1_samples
-dEQP-GLES3.functional.state_query.internal_format#rgba8_samples
-dEQP-GLES3.functional.state_query.internal_format#rgb10_a2_samples
-dEQP-GLES3.functional.state_query.internal_format#srgb8_alpha8_samples
-dEQP-GLES3.functional.state_query.internal_format#depth_component16_samples
-dEQP-GLES3.functional.state_query.internal_format#depth_component24_samples
-dEQP-GLES3.functional.state_query.internal_format#depth_component32f_samples
-dEQP-GLES3.functional.state_query.internal_format#depth24_stencil8_samples
-dEQP-GLES3.functional.state_query.internal_format#depth32f_stencil8_samples
-dEQP-GLES3.functional.state_query.internal_format#stencil_index8_samples
-dEQP-GLES3.functional.state_query.internal_format#rgba8_samples_buffer
-dEQP-GLES3.functional.clipping.point#point_z_clip
-dEQP-GLES3.functional.clipping.point#point_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.point#point_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.point#wide_point_z_clip
-dEQP-GLES3.functional.clipping.point#wide_point_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.point#wide_point_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.line#line_z_clip
-dEQP-GLES3.functional.clipping.line#line_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.line#line_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.line#wide_line_z_clip
-dEQP-GLES3.functional.clipping.line#wide_line_clip
-dEQP-GLES3.functional.clipping.line#long_line_clip
-dEQP-GLES3.functional.clipping.line#long_wide_line_clip
-dEQP-GLES3.functional.clipping.line#line_attrib_clip
-dEQP-GLES3.functional.clipping.line#wide_line_attrib_clip
-dEQP-GLES3.functional.clipping.polygon#poly_clip_viewport_center
-dEQP-GLES3.functional.clipping.polygon#poly_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#poly_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.polygon#poly_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#large_poly_clip_viewport_center
-dEQP-GLES3.functional.clipping.polygon#large_poly_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#large_poly_z_clip
-dEQP-GLES3.functional.clipping.polygon#large_poly_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.polygon#large_poly_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#poly_attrib_clip
-dEQP-GLES3.functional.clipping.polygon#poly_attrib_clip_viewport_center
-dEQP-GLES3.functional.clipping.polygon#poly_attrib_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_0
-dEQP-GLES3.functional.clipping.polygon#multiple_0_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_0_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_1
-dEQP-GLES3.functional.clipping.polygon#multiple_1_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_1_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_2
-dEQP-GLES3.functional.clipping.polygon#multiple_2_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_2_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_3
-dEQP-GLES3.functional.clipping.polygon#multiple_3_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_3_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_4
-dEQP-GLES3.functional.clipping.polygon#multiple_4_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_4_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_5
-dEQP-GLES3.functional.clipping.polygon#multiple_5_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_5_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_6
-dEQP-GLES3.functional.clipping.polygon#multiple_6_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_6_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_7
-dEQP-GLES3.functional.clipping.polygon#multiple_7_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_7_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_8
-dEQP-GLES3.functional.clipping.polygon#multiple_8_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_8_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_9
-dEQP-GLES3.functional.clipping.polygon#multiple_9_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_9_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_10
-dEQP-GLES3.functional.clipping.polygon#multiple_10_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_10_viewport_corner
-dEQP-GLES3.functional.clipping.polygon#multiple_11
-dEQP-GLES3.functional.clipping.polygon#multiple_11_viewport_center
-dEQP-GLES3.functional.clipping.polygon#multiple_11_viewport_corner
-dEQP-GLES3.functional.clipping.polygon_edge#quad_at_origin_0
-dEQP-GLES3.functional.clipping.polygon_edge#quad_at_origin_1
-dEQP-GLES3.functional.clipping.polygon_edge#quad_at_origin_2
-dEQP-GLES3.functional.clipping.polygon_edge#quad_at_origin_3
-dEQP-GLES3.functional.clipping.polygon_edge#quad_at_origin_4
-dEQP-GLES3.functional.clipping.polygon_edge#quad_near_edge_0
-dEQP-GLES3.functional.clipping.polygon_edge#quad_near_edge_1
-dEQP-GLES3.functional.clipping.polygon_edge#quad_near_edge_2
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_y_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_y_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_y_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_y_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_y_and_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_y_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_y_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_y_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_y_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_z_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_pos_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_pos_z_and_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.polygon_offset#default_enable
-dEQP-GLES3.functional.polygon_offset#default_render_with_factor
-dEQP-GLES3.functional.polygon_offset#default_factor_0_slope
-dEQP-GLES3.functional.polygon_offset#fixed16_enable
-dEQP-GLES3.functional.polygon_offset#fixed16_render_with_factor
-dEQP-GLES3.functional.polygon_offset#fixed16_factor_0_slope
-dEQP-GLES3.functional.polygon_offset#fixed24_enable
-dEQP-GLES3.functional.polygon_offset#fixed24_render_with_factor
-dEQP-GLES3.functional.polygon_offset#fixed24_factor_0_slope
-dEQP-GLES3.functional.polygon_offset#float32_enable
-dEQP-GLES3.functional.polygon_offset#float32_render_with_units
-dEQP-GLES3.functional.polygon_offset#float32_render_with_factor
-dEQP-GLES3.functional.polygon_offset#float32_factor_0_slope
-dEQP-GLES3.functional.draw.draw_arrays.first#first_1
-dEQP-GLES3.functional.draw.draw_arrays.first#first_3
-dEQP-GLES3.functional.draw.draw_arrays.first#first_17
-dEQP-GLES3.functional.draw.draw_arrays.points#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.points#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.points#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.points#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangles#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangles#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangles#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangles#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangle_fan#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangle_fan#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangle_fan#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangle_fan#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangle_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.triangle_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangle_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.triangle_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.lines#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.lines#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.lines#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.lines#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.line_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.line_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.line_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.line_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays.line_loop#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays.line_loop#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays.line_loop#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays.line_loop#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.indices.user_ptr#index_byte
-dEQP-GLES3.functional.draw.draw_elements.indices.user_ptr#index_short
-dEQP-GLES3.functional.draw.draw_elements.indices.user_ptr#index_int
-dEQP-GLES3.functional.draw.draw_elements.indices.unaligned_user_ptr#index_short
-dEQP-GLES3.functional.draw.draw_elements.indices.buffer#index_byte
-dEQP-GLES3.functional.draw.draw_elements.indices.buffer#index_short
-dEQP-GLES3.functional.draw.draw_elements.indices.buffer#index_int
-dEQP-GLES3.functional.draw.draw_elements.points#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.points#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.points#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.points#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangles#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangles#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangles#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangles#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangle_fan#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangle_fan#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangle_fan#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangle_fan#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangle_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.triangle_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangle_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.triangle_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.lines#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.lines#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.lines#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.lines#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.line_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.line_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.line_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.line_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_elements.line_loop#single_attribute
-dEQP-GLES3.functional.draw.draw_elements.line_loop#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements.line_loop#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements.line_loop#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.first#first_1
-dEQP-GLES3.functional.draw.draw_arrays_instanced.first#first_3
-dEQP-GLES3.functional.draw.draw_arrays_instanced.first#first_17
-dEQP-GLES3.functional.draw.draw_arrays_instanced.points#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.points#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.points#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.points#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangles#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangles#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangles#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangles#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_fan#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_fan#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_fan#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_fan#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.triangle_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.lines#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.lines#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.lines#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.lines#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_loop#single_attribute
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_loop#multiple_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_loop#instanced_attributes
-dEQP-GLES3.functional.draw.draw_arrays_instanced.line_loop#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.user_ptr#index_byte
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.user_ptr#index_short
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.user_ptr#index_int
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.unaligned_user_ptr#index_short
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.buffer#index_byte
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.buffer#index_short
-dEQP-GLES3.functional.draw.draw_elements_instanced.indices.buffer#index_int
-dEQP-GLES3.functional.draw.draw_elements_instanced.points#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.points#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.points#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.points#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangles#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangles#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangles#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangles#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_fan#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_fan#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_fan#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_fan#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.triangle_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.lines#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.lines#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.lines#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.lines#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_loop#single_attribute
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_loop#multiple_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_loop#instanced_attributes
-dEQP-GLES3.functional.draw.draw_elements_instanced.line_loop#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.points#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.points#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.points#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.points#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangles#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangles#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangles#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangles#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_fan#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_fan#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_fan#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_fan#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.triangle_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.lines#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.lines#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.lines#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.lines#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.line_strip#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.line_strip#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.line_strip#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.line_strip#default_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.line_loop#single_attribute
-dEQP-GLES3.functional.draw.draw_range_elements.line_loop#multiple_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.line_loop#instanced_attributes
-dEQP-GLES3.functional.draw.draw_range_elements.line_loop#default_attribute
-dEQP-GLES3.functional.draw.instancing#draw_arrays_instanced_grid_2x2
-dEQP-GLES3.functional.draw.instancing#draw_arrays_instanced_grid_5x5
-dEQP-GLES3.functional.draw.instancing#draw_arrays_instanced_grid_10x10
-dEQP-GLES3.functional.draw.instancing#draw_arrays_instanced_grid_32x32
-dEQP-GLES3.functional.draw.instancing#draw_arrays_instanced_grid_100x100
-dEQP-GLES3.functional.draw.instancing#draw_elements_instanced_grid_2x2
-dEQP-GLES3.functional.draw.instancing#draw_elements_instanced_grid_5x5
-dEQP-GLES3.functional.draw.instancing#draw_elements_instanced_grid_10x10
-dEQP-GLES3.functional.draw.instancing#draw_elements_instanced_grid_32x32
-dEQP-GLES3.functional.draw.instancing#draw_elements_instanced_grid_100x100
-dEQP-GLES3.functional.draw.random#0
-dEQP-GLES3.functional.draw.random#2
-dEQP-GLES3.functional.draw.random#5
-dEQP-GLES3.functional.draw.random#7
-dEQP-GLES3.functional.draw.random#9
-dEQP-GLES3.functional.draw.random#11
-dEQP-GLES3.functional.draw.random#12
-dEQP-GLES3.functional.draw.random#14
-dEQP-GLES3.functional.draw.random#15
-dEQP-GLES3.functional.draw.random#16
-dEQP-GLES3.functional.draw.random#17
-dEQP-GLES3.functional.draw.random#18
-dEQP-GLES3.functional.draw.random#19
-dEQP-GLES3.functional.draw.random#20
-dEQP-GLES3.functional.draw.random#21
-dEQP-GLES3.functional.draw.random#23
-dEQP-GLES3.functional.draw.random#25
-dEQP-GLES3.functional.draw.random#27
-dEQP-GLES3.functional.draw.random#29
-dEQP-GLES3.functional.draw.random#30
-dEQP-GLES3.functional.draw.random#31
-dEQP-GLES3.functional.draw.random#32
-dEQP-GLES3.functional.draw.random#33
-dEQP-GLES3.functional.draw.random#36
-dEQP-GLES3.functional.draw.random#37
-dEQP-GLES3.functional.draw.random#38
-dEQP-GLES3.functional.draw.random#39
-dEQP-GLES3.functional.draw.random#40
-dEQP-GLES3.functional.draw.random#41
-dEQP-GLES3.functional.draw.random#42
-dEQP-GLES3.functional.draw.random#43
-dEQP-GLES3.functional.draw.random#44
-dEQP-GLES3.functional.draw.random#48
-dEQP-GLES3.functional.draw.random#49
-dEQP-GLES3.functional.draw.random#51
-dEQP-GLES3.functional.draw.random#52
-dEQP-GLES3.functional.draw.random#55
-dEQP-GLES3.functional.draw.random#56
-dEQP-GLES3.functional.draw.random#57
-dEQP-GLES3.functional.draw.random#58
-dEQP-GLES3.functional.draw.random#60
-dEQP-GLES3.functional.draw.random#61
-dEQP-GLES3.functional.draw.random#63
-dEQP-GLES3.functional.draw.random#68
-dEQP-GLES3.functional.draw.random#69
-dEQP-GLES3.functional.draw.random#70
-dEQP-GLES3.functional.draw.random#71
-dEQP-GLES3.functional.draw.random#72
-dEQP-GLES3.functional.draw.random#74
-dEQP-GLES3.functional.draw.random#78
-dEQP-GLES3.functional.draw.random#80
-dEQP-GLES3.functional.draw.random#81
-dEQP-GLES3.functional.draw.random#82
-dEQP-GLES3.functional.draw.random#83
-dEQP-GLES3.functional.draw.random#84
-dEQP-GLES3.functional.draw.random#85
-dEQP-GLES3.functional.draw.random#86
-dEQP-GLES3.functional.draw.random#87
-dEQP-GLES3.functional.draw.random#88
-dEQP-GLES3.functional.draw.random#89
-dEQP-GLES3.functional.draw.random#90
-dEQP-GLES3.functional.draw.random#91
-dEQP-GLES3.functional.draw.random#92
-dEQP-GLES3.functional.draw.random#93
-dEQP-GLES3.functional.draw.random#94
-dEQP-GLES3.functional.draw.random#95
-dEQP-GLES3.functional.draw.random#96
-dEQP-GLES3.functional.draw.random#97
-dEQP-GLES3.functional.draw.random#101
-dEQP-GLES3.functional.draw.random#103
-dEQP-GLES3.functional.draw.random#104
-dEQP-GLES3.functional.draw.random#105
-dEQP-GLES3.functional.draw.random#106
-dEQP-GLES3.functional.draw.random#107
-dEQP-GLES3.functional.draw.random#108
-dEQP-GLES3.functional.draw.random#109
-dEQP-GLES3.functional.draw.random#112
-dEQP-GLES3.functional.draw.random#113
-dEQP-GLES3.functional.draw.random#114
-dEQP-GLES3.functional.draw.random#115
-dEQP-GLES3.functional.draw.random#116
-dEQP-GLES3.functional.draw.random#117
-dEQP-GLES3.functional.draw.random#118
-dEQP-GLES3.functional.draw.random#119
-dEQP-GLES3.functional.draw.random#120
-dEQP-GLES3.functional.draw.random#124
-dEQP-GLES3.functional.draw.random#125
-dEQP-GLES3.functional.draw.random#126
-dEQP-GLES3.functional.draw.random#127
-dEQP-GLES3.functional.draw.random#129
-dEQP-GLES3.functional.draw.random#131
-dEQP-GLES3.functional.draw.random#132
-dEQP-GLES3.functional.draw.random#135
-dEQP-GLES3.functional.draw.random#136
-dEQP-GLES3.functional.draw.random#138
-dEQP-GLES3.functional.draw.random#140
-dEQP-GLES3.functional.draw.random#141
-dEQP-GLES3.functional.draw.random#142
-dEQP-GLES3.functional.draw.random#143
-dEQP-GLES3.functional.draw.random#144
-dEQP-GLES3.functional.draw.random#145
-dEQP-GLES3.functional.draw.random#146
-dEQP-GLES3.functional.draw.random#148
-dEQP-GLES3.functional.draw.random#149
-dEQP-GLES3.functional.draw.random#150
-dEQP-GLES3.functional.draw.random#151
-dEQP-GLES3.functional.draw.random#154
-dEQP-GLES3.functional.draw.random#155
-dEQP-GLES3.functional.draw.random#156
-dEQP-GLES3.functional.draw.random#158
-dEQP-GLES3.functional.draw.random#159
-dEQP-GLES3.functional.draw.random#161
-dEQP-GLES3.functional.draw.random#162
-dEQP-GLES3.functional.draw.random#164
-dEQP-GLES3.functional.draw.random#165
-dEQP-GLES3.functional.draw.random#166
-dEQP-GLES3.functional.draw.random#167
-dEQP-GLES3.functional.draw.random#169
-dEQP-GLES3.functional.draw.random#170
-dEQP-GLES3.functional.draw.random#171
-dEQP-GLES3.functional.draw.random#173
-dEQP-GLES3.functional.draw.random#174
-dEQP-GLES3.functional.draw.random#175
-dEQP-GLES3.functional.draw.random#177
-dEQP-GLES3.functional.draw.random#178
-dEQP-GLES3.functional.draw.random#179
-dEQP-GLES3.functional.draw.random#180
-dEQP-GLES3.functional.draw.random#181
-dEQP-GLES3.functional.draw.random#183
-dEQP-GLES3.functional.draw.random#184
-dEQP-GLES3.functional.draw.random#185
-dEQP-GLES3.functional.draw.random#186
-dEQP-GLES3.functional.draw.random#187
-dEQP-GLES3.functional.draw.random#188
-dEQP-GLES3.functional.draw.random#191
-dEQP-GLES3.functional.draw.random#192
-dEQP-GLES3.functional.draw.random#196
-dEQP-GLES3.functional.draw.random#197
-dEQP-GLES3.functional.draw.random#198
-dEQP-GLES3.functional.draw.random#200
-dEQP-GLES3.functional.draw.random#202
-dEQP-GLES3.functional.draw.random#204
-dEQP-GLES3.functional.draw.random#205
-dEQP-GLES3.functional.draw.random#206
-dEQP-GLES3.functional.draw.random#207
-dEQP-GLES3.functional.draw.random#208
-dEQP-GLES3.functional.draw.random#209
-dEQP-GLES3.functional.draw.random#210
-dEQP-GLES3.functional.flush_finish#wait
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_2f
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_3f
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_2fv
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_3fv
-dEQP-GLES3.functional.default_vertex_attrib.float#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.vec2#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.vec2#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.vec2#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.vec2#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.vec3#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.vec3#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.vec3#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.vec3#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_2f
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_3f
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_2fv
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_3fv
-dEQP-GLES3.functional.default_vertex_attrib.vec4#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat2#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat2#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2x3#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat2x3#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat2x3#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2x3#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2x4#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat2x4#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat2x4#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat2x4#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat3#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat3#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3x2#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat3x2#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat3x2#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3x2#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3x4#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat3x4#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat3x4#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat3x4#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_2f
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_3f
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_2fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_3fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4x2#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat4x2#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat4x2#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4x2#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4x3#vertex_attrib_1f
-dEQP-GLES3.functional.default_vertex_attrib.mat4x3#vertex_attrib_4f
-dEQP-GLES3.functional.default_vertex_attrib.mat4x3#vertex_attrib_1fv
-dEQP-GLES3.functional.default_vertex_attrib.mat4x3#vertex_attrib_4fv
-dEQP-GLES3.functional.default_vertex_attrib.int#vertex_attribi_4i
-dEQP-GLES3.functional.default_vertex_attrib.int#vertex_attribi_4iv
-dEQP-GLES3.functional.default_vertex_attrib.ivec2#vertex_attribi_4i
-dEQP-GLES3.functional.default_vertex_attrib.ivec2#vertex_attribi_4iv
-dEQP-GLES3.functional.default_vertex_attrib.ivec3#vertex_attribi_4i
-dEQP-GLES3.functional.default_vertex_attrib.ivec3#vertex_attribi_4iv
-dEQP-GLES3.functional.default_vertex_attrib.ivec4#vertex_attribi_4i
-dEQP-GLES3.functional.default_vertex_attrib.ivec4#vertex_attribi_4iv
-dEQP-GLES3.functional.default_vertex_attrib.uint#vertex_attribi_4ui
-dEQP-GLES3.functional.default_vertex_attrib.uint#vertex_attribi_4uiv
-dEQP-GLES3.functional.default_vertex_attrib.uvec2#vertex_attribi_4ui
-dEQP-GLES3.functional.default_vertex_attrib.uvec2#vertex_attribi_4uiv
-dEQP-GLES3.functional.default_vertex_attrib.uvec3#vertex_attribi_4ui
-dEQP-GLES3.functional.default_vertex_attrib.uvec3#vertex_attribi_4uiv
-dEQP-GLES3.functional.default_vertex_attrib.uvec4#vertex_attribi_4ui
-dEQP-GLES3.functional.default_vertex_attrib.uvec4#vertex_attribi_4uiv
-dEQP-GLES3.functional.lifetime.gen#buffer
-dEQP-GLES3.functional.lifetime.gen#texture
-dEQP-GLES3.functional.lifetime.gen#renderbuffer
-dEQP-GLES3.functional.lifetime.gen#framebuffer
-dEQP-GLES3.functional.lifetime.gen#shader
-dEQP-GLES3.functional.lifetime.gen#program
-dEQP-GLES3.functional.lifetime.gen#query
-dEQP-GLES3.functional.lifetime.gen#transform_feedback
-dEQP-GLES3.functional.lifetime.gen#vertex_array
-dEQP-GLES3.functional.lifetime.gen#sampler
-dEQP-GLES3.functional.lifetime.delete#buffer
-dEQP-GLES3.functional.lifetime.delete#texture
-dEQP-GLES3.functional.lifetime.delete#renderbuffer
-dEQP-GLES3.functional.lifetime.delete#framebuffer
-dEQP-GLES3.functional.lifetime.delete#shader
-dEQP-GLES3.functional.lifetime.delete#program
-dEQP-GLES3.functional.lifetime.delete#query
-dEQP-GLES3.functional.lifetime.delete#transform_feedback
-dEQP-GLES3.functional.lifetime.delete#vertex_array
-dEQP-GLES3.functional.lifetime.delete#sampler
-dEQP-GLES3.functional.lifetime.bind#buffer
-dEQP-GLES3.functional.lifetime.bind#texture
-dEQP-GLES3.functional.lifetime.bind#renderbuffer
-dEQP-GLES3.functional.lifetime.bind#framebuffer
-dEQP-GLES3.functional.lifetime.bind#query
-dEQP-GLES3.functional.lifetime.bind#transform_feedback
-dEQP-GLES3.functional.lifetime.bind#vertex_array
-dEQP-GLES3.functional.lifetime.bind#sampler
-dEQP-GLES3.functional.lifetime.delete_bound#buffer
-dEQP-GLES3.functional.lifetime.delete_bound#texture
-dEQP-GLES3.functional.lifetime.delete_bound#renderbuffer
-dEQP-GLES3.functional.lifetime.delete_bound#framebuffer
-dEQP-GLES3.functional.lifetime.delete_bound#query
-dEQP-GLES3.functional.lifetime.delete_bound#transform_feedback
-dEQP-GLES3.functional.lifetime.delete_bound#vertex_array
-dEQP-GLES3.functional.lifetime.delete_bound#sampler
-dEQP-GLES3.functional.lifetime.bind_no_gen#buffer
-dEQP-GLES3.functional.lifetime.bind_no_gen#texture
-dEQP-GLES3.functional.lifetime.bind_no_gen#renderbuffer
-dEQP-GLES3.functional.lifetime.bind_no_gen#framebuffer
-dEQP-GLES3.functional.lifetime.bind_no_gen#query
-dEQP-GLES3.functional.lifetime.bind_no_gen#transform_feedback
-dEQP-GLES3.functional.lifetime.bind_no_gen#vertex_array
-dEQP-GLES3.functional.lifetime.bind_no_gen#sampler
-dEQP-GLES3.functional.lifetime.delete_used#program
-dEQP-GLES3.functional.lifetime.attach.deleted_name#shader_program
-dEQP-GLES3.functional.lifetime.attach.deleted_input#texture_framebuffer
-dEQP-GLES3.functional.lifetime.attach.deleted_input#renderbuffer_framebuffer
-dEQP-GLES3.functional.lifetime.attach.deleted_input#shader_program
-dEQP-GLES3.functional.lifetime.attach.deleted_output#texture_framebuffer
-dEQP-GLES3.functional.lifetime.attach.deleted_output#renderbuffer_framebuffer
-dEQP-GLES3.functional.lifetime.delete_active#transform_feedback
diff --git a/tests/tests/deqp/gles3-temporary-failures.txt b/tests/tests/deqp/gles3-temporary-failures.txt
deleted file mode 100644
index c2127a6..0000000
--- a/tests/tests/deqp/gles3-temporary-failures.txt
+++ /dev/null
@@ -1,2627 +0,0 @@
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_float
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat2_offset_1
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat3_offset_1
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat4
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_mat4_offset_1
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_vec2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_vec3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#cond_vec4
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_float
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_mat2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_mat3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_mat4
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_vec2
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_vec3
-dEQP-GLES3.functional.attribute_location.bind_aliasing#max_cond_vec4
-dEQP-GLES3.functional.attribute_location.bind_hole#vec4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#float
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#int
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#ivec2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#ivec3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#ivec4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat2x2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat2x3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat2x4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat3x2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat3x3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat3x4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat4x2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat4x3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#mat4x4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#uint
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#uvec2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#uvec3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#uvec4
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#vec2
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#vec3
-dEQP-GLES3.functional.attribute_location.bind_relink_hole#vec4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#float
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#int
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#ivec2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#ivec3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#ivec4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat2x2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat2x3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat2x4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat3x2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat3x3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat3x4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat4x2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat4x3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#mat4x4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#uint
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#uvec2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#uvec3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#uvec4
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#vec2
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#vec3
-dEQP-GLES3.functional.attribute_location.mixed_relink_hole#vec4
-dEQP-GLES3.functional.clipping.line#wide_line_z_clip_viewport_center
-dEQP-GLES3.functional.clipping.line#wide_line_z_clip_viewport_corner
-dEQP-GLES3.functional.clipping.polygon_edge#poly_fan
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_one#clip_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_neg_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_and_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_neg_x_neg_z_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_x_pos_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_y_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_neg_z_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_y_and_pos_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_x_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_neg_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_and_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_neg_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_and_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_neg_z_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_x_pos_z_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_pos_x_neg_z_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_y_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_neg_z_and_pos_y_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_neg_x_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_y_and_neg_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_x_pos_z_and_neg_y_neg_z_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_neg_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_and_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_three#clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_neg_z_and_pos_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_neg_y_pos_z_and_pos_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_and_pos_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_x_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_x_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_x_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_x_pos_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_x_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_x_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_x_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_y_and_pos_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_neg_z_and_neg_y_pos_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_x_pos_z_and_neg_y_neg_z
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_neg_x_neg_y
-dEQP-GLES3.functional.clipping.triangle_vertex.clip_two#clip_pos_y_and_pos_x_neg_y
-dEQP-GLES3.functional.depth_stencil_clear#depth_stencil_masked
-dEQP-GLES3.functional.depth_stencil_clear#depth_stencil_scissored_masked
-dEQP-GLES3.functional.depth_stencil_clear#stencil_masked
-dEQP-GLES3.functional.depth_stencil_clear#stencil_scissored_masked
-dEQP-GLES3.functional.fbo.api#attachment_query_default_fbo
-dEQP-GLES3.functional.fbo.api#attachment_query_texcube
-dEQP-GLES3.functional.fbo.api#texture_levels
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r11f_g11f_b10f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r16f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r32f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r32f_nearest_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r32f_nearest_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r32f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r32f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#r8_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg16f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg32f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg32f_nearest_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg32f_nearest_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg32f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg32f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rg8_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb10_a2_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb565_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb5_a1_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgb8_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba16f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba32f
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba32f_nearest_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba32f_nearest_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba32f_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba32f_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba4_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#rgba8_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_linear_out_of_bounds_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_linear_out_of_bounds_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_linear_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_linear_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_nearest_scale_blit_from_default
-dEQP-GLES3.functional.fbo.blit.default_framebuffer#srgb8_alpha8_nearest_scale_blit_to_default
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_dst_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_dst_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_dst_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_dst_y_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_x_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_x_nearest
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_y_linear
-dEQP-GLES3.functional.fbo.blit.rect#out_of_bounds_reverse_src_y_nearest
-dEQP-GLES3.functional.fbo.color.blend#r16f_src_over
-dEQP-GLES3.functional.fbo.color.blend#rg16f_src_over
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#red_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg_half_float_oes
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.color0#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component_unsigned_int
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_component_unsigned_short
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.depth#stencil_index8
-dEQP-GLES3.functional.fbo.completeness.renderable.renderbuffer.stencil#depth_stencil_unsigned_int_24_8
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#red_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#red_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb16i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb16ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb32i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb32ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb8i
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb8_snorm
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb8ui
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rgb9_e5
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg_float
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0#rg_unsigned_byte
-dEQP-GLES3.functional.fbo.completeness.renderable.texture.depth#stencil_index8
-dEQP-GLES3.functional.fbo.completeness.size#zero
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_color
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_msaa_color
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_msaa_stencil
-dEQP-GLES3.functional.fbo.invalidate.sub#unbind_blit_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_color
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_msaa_color
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_msaa_stencil
-dEQP-GLES3.functional.fbo.invalidate.whole#unbind_blit_stencil
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_r16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#rbo_rg16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_r16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg16f
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg16f_depth_rbo_depth24_stencil8
-dEQP-GLES3.functional.fbo.render.shared_colorbuffer#tex2d_rg16f_depth_stencil_rbo_depth24_stencil8
-dEQP-GLES3.functional.fence_sync#client_wait_sync_finish
-dEQP-GLES3.functional.fence_sync#client_wait_sync_flush_auto
-dEQP-GLES3.functional.fence_sync#client_wait_sync_flush_manual
-dEQP-GLES3.functional.fence_sync#client_wait_sync_largedraw
-dEQP-GLES3.functional.fence_sync#client_wait_sync_noflush
-dEQP-GLES3.functional.fence_sync#client_wait_sync_timeout_largedraw
-dEQP-GLES3.functional.fence_sync#wait_sync_largedraw
-dEQP-GLES3.functional.flush_finish#flush_wait
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#11
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#20
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#24
-dEQP-GLES3.functional.fragment_ops.depth_stencil.random#5
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#25
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#27
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#40
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#44
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#54
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#7
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#73
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#78
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#80
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#82
-dEQP-GLES3.functional.fragment_ops.interaction.basic_shader#84
-dEQP-GLES3.functional.fragment_ops.random#19
-dEQP-GLES3.functional.fragment_ops.random#22
-dEQP-GLES3.functional.fragment_ops.random#27
-dEQP-GLES3.functional.fragment_ops.random#48
-dEQP-GLES3.functional.fragment_ops.random#59
-dEQP-GLES3.functional.fragment_ops.random#61
-dEQP-GLES3.functional.fragment_ops.random#74
-dEQP-GLES3.functional.fragment_ops.scissor#framebuffer_blit_center
-dEQP-GLES3.functional.fragment_ops.scissor#framebuffer_blit_corner
-dEQP-GLES3.functional.fragment_ops.scissor#framebuffer_blit_none
-dEQP-GLES3.functional.fragment_ops.stencil#cmp_not_equal
-dEQP-GLES3.functional.fragment_ops.stencil#decr_wrap_stencil_fail
-dEQP-GLES3.functional.fragment_ops.stencil#depth_fail_replace
-dEQP-GLES3.functional.fragment_ops.stencil#depth_pass_replace
-dEQP-GLES3.functional.fragment_ops.stencil#incr_wrap_stencil_fail
-dEQP-GLES3.functional.fragment_ops.stencil#invert_stencil_fail
-dEQP-GLES3.functional.fragment_ops.stencil#stencil_fail_replace
-dEQP-GLES3.functional.fragment_ops.stencil#zero_stencil_fail
-dEQP-GLES3.functional.fragment_out.random#12
-dEQP-GLES3.functional.fragment_out.random#2
-dEQP-GLES3.functional.fragment_out.random#28
-dEQP-GLES3.functional.fragment_out.random#33
-dEQP-GLES3.functional.fragment_out.random#36
-dEQP-GLES3.functional.fragment_out.random#50
-dEQP-GLES3.functional.fragment_out.random#51
-dEQP-GLES3.functional.fragment_out.random#59
-dEQP-GLES3.functional.fragment_out.random#76
-dEQP-GLES3.functional.fragment_out.random#78
-dEQP-GLES3.functional.fragment_out.random#79
-dEQP-GLES3.functional.fragment_out.random#93
-dEQP-GLES3.functional.fragment_out.random#94
-dEQP-GLES3.functional.fragment_out.random#96
-dEQP-GLES3.functional.implementation_limits#extensions
-dEQP-GLES3.functional.lifetime.attach.deleted_input#buffer_vertex_array
-dEQP-GLES3.functional.lifetime.attach.deleted_name#buffer_transform_feedback
-dEQP-GLES3.functional.lifetime.attach.deleted_name#buffer_vertex_array
-dEQP-GLES3.functional.lifetime.attach.deleted_name#renderbuffer_framebuffer
-dEQP-GLES3.functional.lifetime.attach.deleted_name#texture_framebuffer
-dEQP-GLES3.functional.lifetime.attach.deleted_output#buffer_transform_feedback
-dEQP-GLES3.functional.multisample.default_framebuffer#stencil
-dEQP-GLES3.functional.multisample.fbo_4_samples#stencil
-dEQP-GLES3.functional.multisample.fbo_max_samples#stencil
-dEQP-GLES3.functional.negative_api.buffer#clear
-dEQP-GLES3.functional.negative_api.buffer#draw_buffers
-dEQP-GLES3.functional.negative_api.buffer#framebuffer_texture2d
-dEQP-GLES3.functional.negative_api.buffer#framebuffer_texture_layer
-dEQP-GLES3.functional.negative_api.buffer#invalidate_framebuffer
-dEQP-GLES3.functional.negative_api.buffer#invalidate_sub_framebuffer
-dEQP-GLES3.functional.negative_api.buffer#read_buffer
-dEQP-GLES3.functional.negative_api.shader#program_binary
-dEQP-GLES3.functional.negative_api.shader#program_parameteri
-dEQP-GLES3.functional.negative_api.state#get_framebuffer_attachment_parameteriv
-dEQP-GLES3.functional.negative_api.state#get_internalformativ
-dEQP-GLES3.functional.negative_api.texture#compressedteximage3d_max_level
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage2d_max_level
-dEQP-GLES3.functional.negative_api.texture#compressedtexsubimage3d_max_level
-dEQP-GLES3.functional.negative_api.texture#generatemipmap
-dEQP-GLES3.functional.negative_api.texture#teximage3d
-dEQP-GLES3.functional.pbo.native#clears
-dEQP-GLES3.functional.pbo.native#triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgb10_a2_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgb10_a2_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgb565_triangles
-dEQP-GLES3.functional.pbo.renderbuffer#rgb5_a1_clears
-dEQP-GLES3.functional.pbo.renderbuffer#rgb5_a1_triangles
-dEQP-GLES3.functional.polygon_offset#default_factor_1_slope
-dEQP-GLES3.functional.polygon_offset#default_result_depth_clamp
-dEQP-GLES3.functional.polygon_offset#fixed24_factor_1_slope
-dEQP-GLES3.functional.polygon_offset#fixed24_result_depth_clamp
-dEQP-GLES3.functional.polygon_offset#float32_displacement_with_units
-dEQP-GLES3.functional.polygon_offset#float32_result_depth_clamp
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_duplicate_restarts.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart_duplicate_restarts.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart_end_restart.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.begin_restart.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.duplicate_restarts.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_byte#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_byte#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_byte#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_int#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_int#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_int#draw_range_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_short#draw_elements
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_short#draw_elements_instanced
-dEQP-GLES3.functional.primitive_restart.end_restart_duplicate_restarts.points.unsigned_short#draw_range_elements
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.interpolation#lines_wide
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.primitives#lines
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_4.primitives#lines_wide
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.interpolation#lines_wide
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives#lines
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives#lines_wide
-dEQP-GLES3.functional.rasterization.fbo.rbo_multisample_max.primitives#points
-dEQP-GLES3.functional.rasterization.interpolation.basic#line_loop_wide
-dEQP-GLES3.functional.rasterization.interpolation.basic#line_strip_wide
-dEQP-GLES3.functional.rasterization.interpolation.basic#lines_wide
-dEQP-GLES3.functional.rasterization.interpolation.projected#line_loop_wide
-dEQP-GLES3.functional.rasterization.interpolation.projected#line_strip_wide
-dEQP-GLES3.functional.rasterization.interpolation.projected#lines_wide
-dEQP-GLES3.functional.rasterization.primitives#line_loop_wide
-dEQP-GLES3.functional.rasterization.primitives#lines
-dEQP-GLES3.functional.rasterization.primitives#line_strip_wide
-dEQP-GLES3.functional.rasterization.primitives#lines_wide
-dEQP-GLES3.functional.shaders.arrays.declaration#multiple_declarations_single_statement_explicit_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#multiple_declarations_single_statement_explicit_vertex
-dEQP-GLES3.functional.shaders.arrays.declaration#multiple_declarations_single_statement_implicit_fragment
-dEQP-GLES3.functional.shaders.arrays.declaration#multiple_declarations_single_statement_implicit_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#empty_declaration_without_var_name_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#empty_declaration_without_var_name_vertex
-dEQP-GLES3.functional.shaders.arrays.invalid#empty_declaration_with_var_name_fragment
-dEQP-GLES3.functional.shaders.arrays.invalid#empty_declaration_with_var_name_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isinf#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.isnan#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#float_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec2_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec3_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.common.modf#vec4_mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpackhalf2x16_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpackhalf2x16_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpacksnorm2x16_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpacksnorm2x16_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpackunorm2x16_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.pack_unpack#unpackunorm2x16_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.acosh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atanh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.asin.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan2.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.atan.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.ceil.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.cos.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.dot.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.faceforward.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.log.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.highp_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.highp_fragment#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.highp_fragment#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_fragment#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_fragment#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_fragment#mat3x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_fragment#mat4x2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_fragment#mat4x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.mix.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#highp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#highp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#lowp_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#lowp_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#mediump_fragment
-dEQP-GLES3.functional.shaders.builtin_functions.precision.modf#mediump_vertex
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.lowp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.refract.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.sin.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh.highp_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_fragment#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_fragment#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_fragment#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_fragment#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_vertex#scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_vertex#vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_vertex#vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.tan.mediump_vertex#vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_fragment#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_fragment#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.lowp_fragment#mat3x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_fragment#mat2x3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_fragment#mat2x4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.transpose.mediump_fragment#mat3x4
-dEQP-GLES3.functional.shaders.builtin_variable#fragcoord_w
-dEQP-GLES3.functional.shaders.builtin_variable#max_fragment_input_vectors_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_fragment_input_vectors_vertex
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_output_vectors_fragment
-dEQP-GLES3.functional.shaders.builtin_variable#max_vertex_output_vectors_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#acosh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#asinh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_combined_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atanh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#atan_separate_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#cosh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#degrees_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#radians_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#sinh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tanh_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry#tan_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#abs_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#clamp_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floatbits_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floatbits_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floatbits_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#floatbits_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#fract_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isinf_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#isnan_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#max_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec2_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec2_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec3_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec3_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec4_int_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec4_int_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec2_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec2_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec3_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec3_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec4_uint_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec4_uint_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#min_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_float_bool_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_float_bool_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mix_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#mod_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#roundEven_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#round_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#smoothstep_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec2_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec2_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec3_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec3_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec4_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec4_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#step_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common#trunc_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packHalf2x16_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packHalf2x16_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packSnorm2x16_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packSnorm2x16_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packUnorm2x16_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#packUnorm2x16_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#unpackSnorm2x16_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#unpackSnorm2x16_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#unpackUnorm2x16_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack#unpackUnorm2x16_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdx_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdx_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdx_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdx_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdy_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdy_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdy_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#dFdy_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#fwidth_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#fwidth_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#fwidth_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.fragment_processing#fwidth_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#distance_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#faceforward_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#reflect_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_float_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_float_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric#refract_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#compMult_mat4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#determinant_mat4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#inverse_mat4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2x3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2x3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2x4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat2x4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3x2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3x2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3x4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat3x4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4x2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4x2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4x3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#outerProd_mat4x3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2x3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2x3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2x4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat2x4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3x2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3x2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3x4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat3x4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4x2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4x2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4x3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix#transpose_mat4x3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#all_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#any_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#equal_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThanEqual_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#greaterThan_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThanEqual_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#lessThan_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#not_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_bvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_ivec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_uvec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec2_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec2_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec3_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec3_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec4_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational#notEqual_vec4_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_length_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_length_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.complex_types#array_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.other#complex_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.other#complex_vertex
-dEQP-GLES3.functional.shaders.constant_expressions.other#nested_builtin_funcs_fragment
-dEQP-GLES3.functional.shaders.constant_expressions.other#nested_builtin_funcs_vertex
-dEQP-GLES3.functional.shaders.constants#const_float_function_gotcha_fragment
-dEQP-GLES3.functional.shaders.constants#const_float_function_gotcha_vertex
-dEQP-GLES3.functional.shaders.constants#float_int_f_suffix_0_fragment
-dEQP-GLES3.functional.shaders.constants#float_int_f_suffix_0_vertex
-dEQP-GLES3.functional.shaders.constants#float_int_f_suffix_1_fragment
-dEQP-GLES3.functional.shaders.constants#float_int_f_suffix_1_vertex
-dEQP-GLES3.functional.shaders.constants#int_l_suffix_fragment
-dEQP-GLES3.functional.shaders.constants#int_l_suffix_vertex
-dEQP-GLES3.functional.shaders.constants#invalid_octal_1_fragment
-dEQP-GLES3.functional.shaders.constants#invalid_octal_1_vertex
-dEQP-GLES3.functional.shaders.constants#uint_ul_suffix_fragment
-dEQP-GLES3.functional.shaders.constants#uint_ul_suffix_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_attribute
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_uniform
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_uniform_block_2_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#invariant_uniform_block_2_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_const_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_const_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_block_name_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_duplicate_block_name_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_in_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_in_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_out_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_out_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_sampler_2d_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_sampler_2d_vertex
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_sampler_cube_fragment
-dEQP-GLES3.functional.shaders.declarations.invalid_declarations#uniform_block_sampler_cube_vertex
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.default#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fastest.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa2#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.fbo#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.in_function#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.linear#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.default#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.nicest.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_if#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_loop#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.static_switch#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.basic#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.basic#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.basic#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_fastest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.float_nicest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.texture.msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_if#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_loop#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdx.uniform_switch#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fastest.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa2#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.fbo#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.in_function#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#float_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec2_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.linear#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_float#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#float_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.nicest.fbo_msaa4#vec4_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.static_switch#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.basic#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.basic#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.basic#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_fastest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_fastest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_fastest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_fastest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_nicest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_nicest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_nicest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.float_nicest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.texture.msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#vec2_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.dfdy.uniform_switch#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fastest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa2#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.fbo#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.in_function#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.linear#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.default#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_float#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.nicest.fbo_msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.static_switch#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.basic#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.basic#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.basic#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_fastest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#float_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#vec2_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#vec3_lowp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.float_nicest#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.texture.msaa4#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_if#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_loop#vec4_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec3_highp
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec3_mediump
-dEQP-GLES3.functional.shaders.derivate.fwidth.uniform_switch#vec4_highp
-dEQP-GLES3.functional.shaders.fragdata#draw_buffers
-dEQP-GLES3.functional.shaders.fragdata#invalid_assign_to_1
-dEQP-GLES3.functional.shaders.fragdata#write_fragcolor_and_fragdata_static_if
-dEQP-GLES3.functional.shaders.fragdata#write_fragcolor_and_fragdata_unused_func
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_global_inout_on_call_fragment
-dEQP-GLES3.functional.shaders.functions.array_arguments#copy_global_inout_on_call_vertex
-dEQP-GLES3.functional.shaders.functions.datatypes#bool_bvec2_fragment
-dEQP-GLES3.functional.shaders.functions.datatypes#bool_bvec2_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#array_size_from_const_arg_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#array_size_from_const_arg_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#init_const_local_from_const_arg_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#init_const_local_from_const_arg_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#local_function_prototype_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#local_function_prototype_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#overload_builtin_function_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#overload_builtin_function_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#redefine_builtin_function_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#redefine_builtin_function_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_return_type_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#uniform_return_type_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#use_const_arg_as_array_size_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#use_const_arg_as_array_size_vertex
-dEQP-GLES3.functional.shaders.functions.invalid#use_const_arg_in_const_expr_fragment
-dEQP-GLES3.functional.shaders.functions.invalid#use_const_arg_in_const_expr_vertex
-dEQP-GLES3.functional.shaders.invariance.highp#common_subexpression_1
-dEQP-GLES3.functional.shaders.invariance.highp#common_subexpression_3
-dEQP-GLES3.functional.shaders.invariance.highp#loop_0
-dEQP-GLES3.functional.shaders.invariance.highp#loop_1
-dEQP-GLES3.functional.shaders.invariance.lowp#common_subexpression_1
-dEQP-GLES3.functional.shaders.invariance.lowp#common_subexpression_3
-dEQP-GLES3.functional.shaders.invariance.lowp#loop_0
-dEQP-GLES3.functional.shaders.invariance.lowp#loop_1
-dEQP-GLES3.functional.shaders.invariance.mediump#common_subexpression_1
-dEQP-GLES3.functional.shaders.invariance.mediump#common_subexpression_3
-dEQP-GLES3.functional.shaders.invariance.mediump#loop_0
-dEQP-GLES3.functional.shaders.invariance.mediump#loop_1
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#max_length_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers#max_length_vertex
-dEQP-GLES3.functional.shaders.keywords.keywords#vec4_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#active_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#active_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#atomic_uint_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#atomic_uint_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#coherent_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#coherent_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#common_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#common_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#double_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#double_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#filter_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#filter_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage2D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage2D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage3D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimage3D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimageBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimageBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimageCube_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#iimageCube_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DArrayShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DArrayShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1DShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DArrayShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DArrayShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DShadow_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2DShadow_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image2D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image3D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#image3D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#imageBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#imageBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#imageCube_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#imageCube_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isamplerBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#isamplerBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#partition_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#partition_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#patch_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#patch_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#readonly_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#readonly_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#resource_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#resource_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#restrict_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#restrict_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sample_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#samplerBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#samplerBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#sample_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#subroutine_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#subroutine_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage1DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage1DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage1D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage1D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage2DArray_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage2DArray_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage2D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage2D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage3D_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimage3D_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimageBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimageBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimageCube_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#uimageCube_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usamplerBuffer_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#usamplerBuffer_vertex
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#writeonly_fragment
-dEQP-GLES3.functional.shaders.keywords.reserved_keywords#writeonly_vertex
-dEQP-GLES3.functional.shaders.linkage.uniform.block#layout_qualifier_mismatch_1
-dEQP-GLES3.functional.shaders.linkage.uniform.block#layout_qualifier_mismatch_2
-dEQP-GLES3.functional.shaders.linkage.uniform.block#layout_qualifier_mismatch_3
-dEQP-GLES3.functional.shaders.linkage.uniform.block#precision_mismatch
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#precision_conflict_1
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#precision_conflict_2
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#precision_conflict_3
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#precision_conflict_4
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#type_conflict_1
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#type_conflict_2
-dEQP-GLES3.functional.shaders.linkage.uniform.struct#type_conflict_3
-dEQP-GLES3.functional.shaders.linkage.varying.rules#differing_interpolation_2
-dEQP-GLES3.functional.shaders.linkage.varying.rules#illegal_usage_1
-dEQP-GLES3.functional.shaders.linkage.varying.rules#interpolation_mismatch_1
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_array_struct
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_int
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_struct_array
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_struct_struct
-dEQP-GLES3.functional.shaders.linkage.varying.rules#invalid_type_uint
-dEQP-GLES3.functional.shaders.linkage.varying.rules#struct_type_mismatch_1
-dEQP-GLES3.functional.shaders.linkage.varying.rules#struct_type_mismatch_2
-dEQP-GLES3.functional.shaders.linkage.varying.rules#struct_type_mismatch_3
-dEQP-GLES3.functional.shaders.linkage.varying.rules#type_mismatch_1
-dEQP-GLES3.functional.shaders.linkage.varying.struct#float_uvec2_vec3
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.post_decrement_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_effect#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#highp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#lowp_uvec4_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uint_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uint_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec2_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec2_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec3_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec3_vertex
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec4_fragment
-dEQP-GLES3.functional.shaders.operator.unary_operator.pre_decrement_result#mediump_uvec4_vertex
-dEQP-GLES3.functional.shaders.preprocessor.basic#identifier_with_double_underscore_fragment
-dEQP-GLES3.functional.shaders.preprocessor.basic#identifier_with_double_underscore_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_3_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#invalid_line_file_3_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_and_file_expression_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_and_file_expression_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_defined_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_defined_2_vertex
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_expression_fragment
-dEQP-GLES3.functional.shaders.preprocessor.builtin#line_expression_vertex
-dEQP-GLES3.functional.shaders.preprocessor.comments#backslash_in_a_comment_1_fragment
-dEQP-GLES3.functional.shaders.preprocessor.comments#backslash_in_a_comment_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#invalid_pragma_invalid_debug_fragment
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#invalid_pragma_invalid_debug_vertex
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#invalid_pragma_invalid_token_fragment
-dEQP-GLES3.functional.shaders.preprocessor.pragmas#invalid_pragma_invalid_token_vertex
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#line_2_fragment
-dEQP-GLES3.functional.shaders.preprocessor.predefined_macros#line_2_vertex
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#interp_invariant_storage
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#interp_invariant_storage_precision
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#interp_storage_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#interp_storage_precision_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#invariant_interp_storage_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#invariant_interp_storage_precision_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#invariant_storage_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#invariant_storage_precision_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.invalid#storage_precision_invariant_input
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#invariant_interp_storage
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#invariant_interp_storage_precision
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#invariant_storage
-dEQP-GLES3.functional.shaders.qualification_order.variables.valid#invariant_storage_precision
-dEQP-GLES3.functional.shaders.random.all_features.fragment#1
-dEQP-GLES3.functional.shaders.random.all_features.fragment#13
-dEQP-GLES3.functional.shaders.random.all_features.fragment#14
-dEQP-GLES3.functional.shaders.random.all_features.fragment#18
-dEQP-GLES3.functional.shaders.random.all_features.fragment#20
-dEQP-GLES3.functional.shaders.random.all_features.fragment#21
-dEQP-GLES3.functional.shaders.random.all_features.fragment#22
-dEQP-GLES3.functional.shaders.random.all_features.fragment#25
-dEQP-GLES3.functional.shaders.random.all_features.fragment#30
-dEQP-GLES3.functional.shaders.random.all_features.fragment#32
-dEQP-GLES3.functional.shaders.random.all_features.fragment#34
-dEQP-GLES3.functional.shaders.random.all_features.fragment#37
-dEQP-GLES3.functional.shaders.random.all_features.fragment#38
-dEQP-GLES3.functional.shaders.random.all_features.fragment#39
-dEQP-GLES3.functional.shaders.random.all_features.fragment#40
-dEQP-GLES3.functional.shaders.random.all_features.fragment#46
-dEQP-GLES3.functional.shaders.random.all_features.fragment#47
-dEQP-GLES3.functional.shaders.random.all_features.fragment#48
-dEQP-GLES3.functional.shaders.random.all_features.fragment#5
-dEQP-GLES3.functional.shaders.random.all_features.fragment#53
-dEQP-GLES3.functional.shaders.random.all_features.fragment#55
-dEQP-GLES3.functional.shaders.random.all_features.fragment#56
-dEQP-GLES3.functional.shaders.random.all_features.fragment#6
-dEQP-GLES3.functional.shaders.random.all_features.fragment#61
-dEQP-GLES3.functional.shaders.random.all_features.fragment#62
-dEQP-GLES3.functional.shaders.random.all_features.fragment#64
-dEQP-GLES3.functional.shaders.random.all_features.fragment#65
-dEQP-GLES3.functional.shaders.random.all_features.fragment#66
-dEQP-GLES3.functional.shaders.random.all_features.fragment#69
-dEQP-GLES3.functional.shaders.random.all_features.fragment#7
-dEQP-GLES3.functional.shaders.random.all_features.fragment#70
-dEQP-GLES3.functional.shaders.random.all_features.fragment#71
-dEQP-GLES3.functional.shaders.random.all_features.fragment#72
-dEQP-GLES3.functional.shaders.random.all_features.fragment#76
-dEQP-GLES3.functional.shaders.random.all_features.fragment#80
-dEQP-GLES3.functional.shaders.random.all_features.fragment#81
-dEQP-GLES3.functional.shaders.random.all_features.fragment#87
-dEQP-GLES3.functional.shaders.random.all_features.fragment#88
-dEQP-GLES3.functional.shaders.random.all_features.fragment#89
-dEQP-GLES3.functional.shaders.random.all_features.fragment#9
-dEQP-GLES3.functional.shaders.random.all_features.fragment#92
-dEQP-GLES3.functional.shaders.random.all_features.fragment#94
-dEQP-GLES3.functional.shaders.random.all_features.fragment#96
-dEQP-GLES3.functional.shaders.random.all_features.vertex#13
-dEQP-GLES3.functional.shaders.random.all_features.vertex#17
-dEQP-GLES3.functional.shaders.random.all_features.vertex#18
-dEQP-GLES3.functional.shaders.random.all_features.vertex#2
-dEQP-GLES3.functional.shaders.random.all_features.vertex#23
-dEQP-GLES3.functional.shaders.random.all_features.vertex#26
-dEQP-GLES3.functional.shaders.random.all_features.vertex#29
-dEQP-GLES3.functional.shaders.random.all_features.vertex#34
-dEQP-GLES3.functional.shaders.random.all_features.vertex#37
-dEQP-GLES3.functional.shaders.random.all_features.vertex#4
-dEQP-GLES3.functional.shaders.random.all_features.vertex#40
-dEQP-GLES3.functional.shaders.random.all_features.vertex#41
-dEQP-GLES3.functional.shaders.random.all_features.vertex#42
-dEQP-GLES3.functional.shaders.random.all_features.vertex#44
-dEQP-GLES3.functional.shaders.random.all_features.vertex#46
-dEQP-GLES3.functional.shaders.random.all_features.vertex#47
-dEQP-GLES3.functional.shaders.random.all_features.vertex#49
-dEQP-GLES3.functional.shaders.random.all_features.vertex#50
-dEQP-GLES3.functional.shaders.random.all_features.vertex#53
-dEQP-GLES3.functional.shaders.random.all_features.vertex#54
-dEQP-GLES3.functional.shaders.random.all_features.vertex#58
-dEQP-GLES3.functional.shaders.random.all_features.vertex#6
-dEQP-GLES3.functional.shaders.random.all_features.vertex#62
-dEQP-GLES3.functional.shaders.random.all_features.vertex#65
-dEQP-GLES3.functional.shaders.random.all_features.vertex#66
-dEQP-GLES3.functional.shaders.random.all_features.vertex#70
-dEQP-GLES3.functional.shaders.random.all_features.vertex#72
-dEQP-GLES3.functional.shaders.random.all_features.vertex#74
-dEQP-GLES3.functional.shaders.random.all_features.vertex#76
-dEQP-GLES3.functional.shaders.random.all_features.vertex#77
-dEQP-GLES3.functional.shaders.random.all_features.vertex#79
-dEQP-GLES3.functional.shaders.random.all_features.vertex#81
-dEQP-GLES3.functional.shaders.random.all_features.vertex#87
-dEQP-GLES3.functional.shaders.random.all_features.vertex#88
-dEQP-GLES3.functional.shaders.random.all_features.vertex#90
-dEQP-GLES3.functional.shaders.random.all_features.vertex#92
-dEQP-GLES3.functional.shaders.random.all_features.vertex#93
-dEQP-GLES3.functional.shaders.random.all_features.vertex#94
-dEQP-GLES3.functional.shaders.random.all_features.vertex#96
-dEQP-GLES3.functional.shaders.random.all_features.vertex#98
-dEQP-GLES3.functional.shaders.random.scalar_conversion.combined#72
-dEQP-GLES3.functional.shaders.random.scalar_conversion.fragment#72
-dEQP-GLES3.functional.shaders.random.texture.fragment#72
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#10
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#37
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#40
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#49
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#83
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#89
-dEQP-GLES3.functional.shaders.random.trigonometric.fragment#94
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#10
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#11
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#15
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#37
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#49
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#83
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#89
-dEQP-GLES3.functional.shaders.random.trigonometric.vertex#94
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_init_statement_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redeclare_for_init_statement_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#redefine_builtin_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#redefine_builtin_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_else_in_outer_scope_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_else_in_outer_scope_vertex
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_if_in_outer_scope_fragment
-dEQP-GLES3.functional.shaders.scoping.invalid#use_variable_from_if_in_outer_scope_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#for_init_statement_variable_hides_global_variable_vertex
-dEQP-GLES3.functional.shaders.scoping.valid#variable_in_if_hides_global_variable_fragment
-dEQP-GLES3.functional.shaders.scoping.valid#variable_in_if_hides_global_variable_vertex
-dEQP-GLES3.functional.shaders.struct.local#basic_equal_fragment
-dEQP-GLES3.functional.shaders.struct.local#basic_equal_vertex
-dEQP-GLES3.functional.shaders.struct.local#basic_not_equal_fragment
-dEQP-GLES3.functional.shaders.struct.local#basic_not_equal_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_equal_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_equal_vertex
-dEQP-GLES3.functional.shaders.struct.local#nested_not_equal_fragment
-dEQP-GLES3.functional.shaders.struct.local#nested_not_equal_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darrayshadow_vec4_ivec2_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#textureoffset_sampler2darrayshadow_vec4_ivec2_vertex
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texture_sampler2darrayshadow_vec4_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.invalid#texture_sampler2darrayshadow_vec4_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler2d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#isampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2darray_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2darray_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2darray_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2darray_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler2d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texelfetchoffset#usampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#isamplercube_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercubeshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturegrad#samplercubeshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureoffset#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureoffset#isampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.textureoffset#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureoffset#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureoffset#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texture#sampler2darrayshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#isampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#isampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#isampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#isampler3d_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darray_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darray_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darray_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darray_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darrayshadow_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler2darrayshadow_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler3d_fixed_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler3d_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler3d_float_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#sampler3d_float_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#usampler2darray_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#usampler2darray_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#usampler3d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturesize#usampler3d_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#double_underscore_block_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#double_underscore_block_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#double_underscore_instance_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#double_underscore_instance_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#invalid_identifier_block_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#invalid_identifier_block_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#invalid_identifier_instance_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#invalid_identifier_instance_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#member_in_interface_qualifier_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#member_in_interface_qualifier_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#member_out_interface_qualifier_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#member_out_interface_qualifier_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#structure_definition_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#structure_definition_vertex
-dEQP-GLES3.functional.shaders.uniform_block.invalid#too_long_block_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.invalid#too_long_block_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_all_8_times_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_all_8_times_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_all_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_all_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_column_major_vec4_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_column_major_vec4_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_row_major_vec4_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#member_layout_row_major_vec4_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#repeated_block_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#repeated_block_no_instance_name_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#repeated_block_no_instance_name_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#repeated_block_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_all_8_times_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_all_8_times_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_all_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_all_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_column_major_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_column_major_vertex
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_row_major_fragment
-dEQP-GLES3.functional.shaders.uniform_block.valid#struct_member_layout_row_major_vertex
-dEQP-GLES3.functional.state_query.fbo#draw_framebuffer_default_framebuffer
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_texture_cube_map_face
-dEQP-GLES3.functional.state_query.fbo#framebuffer_attachment_x_size_initial
-dEQP-GLES3.functional.state_query.fbo#framebuffer_unspecified_attachment_component_type
-dEQP-GLES3.functional.state_query.fbo#framebuffer_unspecified_attachment_x_size_rbo
-dEQP-GLES3.functional.state_query.fbo#read_framebuffer_default_framebuffer
-dEQP-GLES3.functional.state_query.floats#blend_color_getinteger
-dEQP-GLES3.functional.state_query.floats#blend_color_getinteger64
-dEQP-GLES3.functional.state_query.floats#color_clear_value_getinteger
-dEQP-GLES3.functional.state_query.floats#color_clear_value_getinteger64
-dEQP-GLES3.functional.state_query.floats#depth_clear_value_getinteger
-dEQP-GLES3.functional.state_query.floats#depth_clear_value_getinteger64
-dEQP-GLES3.functional.state_query.floats#depth_range_getinteger
-dEQP-GLES3.functional.state_query.floats#depth_range_getinteger64
-dEQP-GLES3.functional.state_query.floats#line_width_getinteger
-dEQP-GLES3.functional.state_query.floats#line_width_getinteger64
-dEQP-GLES3.functional.state_query.floats#polygon_offset_factor_getinteger
-dEQP-GLES3.functional.state_query.floats#polygon_offset_factor_getinteger64
-dEQP-GLES3.functional.state_query.floats#polygon_offset_units_getinteger
-dEQP-GLES3.functional.state_query.floats#polygon_offset_units_getinteger64
-dEQP-GLES3.functional.state_query.floats#sample_coverage_value_getinteger
-dEQP-GLES3.functional.state_query.floats#sample_coverage_value_getinteger64
-dEQP-GLES3.functional.state_query.integers64#max_server_wait_timeout_getfloat
-dEQP-GLES3.functional.state_query.integers#draw_buffer_getboolean
-dEQP-GLES3.functional.state_query.integers#draw_buffer_getfloat
-dEQP-GLES3.functional.state_query.integers#draw_buffer_getinteger
-dEQP-GLES3.functional.state_query.integers#draw_buffer_getinteger64
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_back_value_mask_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_both_getfloat
-dEQP-GLES3.functional.state_query.integers#stencil_value_mask_separate_getfloat
-dEQP-GLES3.functional.state_query.integers#transform_feedback_buffer_binding_getboolean
-dEQP-GLES3.functional.state_query.integers#transform_feedback_buffer_binding_getfloat
-dEQP-GLES3.functional.state_query.integers#transform_feedback_buffer_binding_getinteger
-dEQP-GLES3.functional.state_query.integers#transform_feedback_buffer_binding_getinteger64
-dEQP-GLES3.functional.state_query.internal_format#rgba_samples
-dEQP-GLES3.functional.state_query.internal_format#rgb_samples
-dEQP-GLES3.functional.state_query.rbo#renderbuffer_internal_format
-dEQP-GLES3.functional.state_query.rbo#renderbuffer_size
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_max_lod_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_max_lod_getsamplerparameteri
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_min_lod_getsamplerparameterf
-dEQP-GLES3.functional.state_query.sampler#sampler_texture_min_lod_getsamplerparameteri
-dEQP-GLES3.functional.state_query.shader#program_active_uniform_types
-dEQP-GLES3.functional.state_query.shader#shader_info_log_length
-dEQP-GLES3.functional.state_query.shader#shader_source_length
-dEQP-GLES3.functional.state_query.shader#uniform_value_boolean
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_integer
-dEQP-GLES3.functional.state_query.shader#vertex_attrib_type
-dEQP-GLES3.functional.state_query.string#extensions
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_linear_linear_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_linear_nearest_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_linear_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_linear_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_linear_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_nearest_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_nearest_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#linear_mipmap_nearest_nearest_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_mipmap_linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_mipmap_linear_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_mipmap_nearest_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d_array.combinations#nearest_mipmap_nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_mipmap_linear_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_mipmap_linear_linear_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_mipmap_linear_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_mipmap_nearest_linear_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.2d.combinations#linear_mipmap_nearest_nearest_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_linear_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_linear_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_linear_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_linear_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_linear_clamp_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_nearest_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_nearest_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_nearest_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_nearest_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_linear_nearest_clamp_repeat_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_linear_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_linear_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_linear_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_linear_clamp_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_linear_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_clamp_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_clamp_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_mirror_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_mirror_mirror
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_repeat_clamp
-dEQP-GLES3.functional.texture.filtering.3d.combinations#linear_mipmap_nearest_nearest_clamp_repeat_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.projected#linear_nearest_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_linear_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_linear_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_linear_repeat
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_nearest_clamp
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_nearest_mirror
-dEQP-GLES3.functional.texture.mipmap.2d.projected#nearest_nearest_repeat
-dEQP-GLES3.functional.texture.size.cube#256x256_rgba4444
-dEQP-GLES3.functional.texture.size.cube#512x512_rgba4444
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r16f_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32f_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32i_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r32ui_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8i_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#r8_snorm_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg16ui_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rg8i_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb10_a2_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb10_a2ui_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8i_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgb8ui_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba16i_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#rgba32f_3d
-dEQP-GLES3.functional.texture.specification.basic_teximage3d#srgb8_alpha8_3d
-dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo#depth_component16_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth24_stencil8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth32f_stencil8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component16_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component24_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#depth_component32f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r11f_g11f_b10f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r16i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r32i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#r8ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg16ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg32ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rg8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb10_a2_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb10_a2ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb16ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb32ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgb8ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba16f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba16ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba32f_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba32i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8i_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8_snorm_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#rgba8ui_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.format#srgb8_alpha8_2d
-dEQP-GLES3.functional.texture.specification.texstorage2d.size#2d_57x63_6_levels
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#depth32f_stencil8_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r11f_g11f_b10f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r16f_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r16i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r16i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r16ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r32f_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r32i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r32i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r32ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#r8ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg16i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg32f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg32i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg32i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg32ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg8_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg8i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg8_snorm_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rg8ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb10_a2_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb10_a2_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb16f_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb16i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb16i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb16ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb32i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb8_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb8i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgb8ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba16f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba16i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba16i_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba16ui_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba32f_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba32ui_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba8_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba8i_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba8_snorm_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba8ui_2d_array
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#rgba8ui_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#srgb8_3d
-dEQP-GLES3.functional.texture.specification.texstorage3d.format#srgb8_alpha8_3d
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.points#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#highp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.array_element.separate.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.lines#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.points#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#highp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#lowp_vec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_ivec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_ivec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_uvec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_uvec4
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_vec3
-dEQP-GLES3.functional.transform_feedback.array.interleaved.triangles#mediump_vec4
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.lines#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.points#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#highp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_float
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#lowp_vec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_float
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_int
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_ivec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_uint
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_uvec2
-dEQP-GLES3.functional.transform_feedback.array.separate.triangles#mediump_vec2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.lines#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.points#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#highp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#lowp_mat2
-dEQP-GLES3.functional.transform_feedback.basic_types.separate.triangles#mediump_mat2
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#1
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#3
-dEQP-GLES3.functional.transform_feedback.random.interleaved.lines#7
-dEQP-GLES3.functional.transform_feedback.random.interleaved.points#2
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#10
-dEQP-GLES3.functional.transform_feedback.random.interleaved.triangles#8
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#1
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#8
-dEQP-GLES3.functional.transform_feedback.random.separate.lines#9
-dEQP-GLES3.functional.transform_feedback.random.separate.points#2
-dEQP-GLES3.functional.transform_feedback.random.separate.points#4
-dEQP-GLES3.functional.transform_feedback.random.separate.points#7
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#1
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#10
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#6
-dEQP-GLES3.functional.transform_feedback.random.separate.triangles#9
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#28
-dEQP-GLES3.functional.ubo.random.all_per_block_buffers#35
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays#9
-dEQP-GLES3.functional.ubo.random.nested_structs_arrays_instance_arrays#24
-dEQP-GLES3.functional.ubo.single_nested_struct_array.per_block_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.single_nested_struct_array.per_block_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.ubo.single_nested_struct_array.single_buffer#std140_instance_array_both
-dEQP-GLES3.functional.ubo.single_nested_struct_array.single_buffer#std140_instance_array_fragment
-dEQP-GLES3.functional.uniform_api.random#22
-dEQP-GLES3.functional.uniform_api.random#23
-dEQP-GLES3.functional.uniform_api.random#4
-dEQP-GLES3.functional.uniform_api.random#8
-dEQP-GLES3.functional.uniform_api.random#81
-dEQP-GLES3.functional.uniform_api.random#93
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES3.functional.uniform_api.value.assigned.basic_array_assign_full.basic_array#sampler2D_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.array_in_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.basic_struct#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#mat4_mat2_both
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#mat4_mat2_fragment
-dEQP-GLES3.functional.uniform_api.value.assigned.by_pointer.render.struct_in_array#mat4_mat2_vertex
diff --git a/tests/tests/deqp/gles31-golden-tests.txt b/tests/tests/deqp/gles31-golden-tests.txt
deleted file mode 100644
index 8f3a5ef..0000000
--- a/tests/tests/deqp/gles31-golden-tests.txt
+++ /dev/null
@@ -1,17202 +0,0 @@
-dEQP-GLES31.info#vendor
-dEQP-GLES31.info#renderer
-dEQP-GLES31.info#version
-dEQP-GLES31.info#shading_language_version
-dEQP-GLES31.info#extensions
-dEQP-GLES31.info#render_target
-dEQP-GLES31.functional.shaders.builtin_var.compute#num_work_groups
-dEQP-GLES31.functional.shaders.builtin_var.compute#work_group_size
-dEQP-GLES31.functional.shaders.builtin_var.compute#work_group_id
-dEQP-GLES31.functional.shaders.builtin_var.compute#local_invocation_id
-dEQP-GLES31.functional.shaders.builtin_var.compute#global_invocation_id
-dEQP-GLES31.functional.shaders.builtin_var.compute#local_invocation_index
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.abs#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.sign#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floor#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.trunc#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.round#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.roundeven#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ceil#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fract#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.modf#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isnan#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.isinf#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstoint#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.floatbitstouint#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.frexp#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.ldexp#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#float_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.fma#vec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.intbitstofloat#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.common.uintbitstofloat#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm4x8_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm4x8_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm4x8_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm4x8_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packsnorm2x16_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm2x16_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpacksnorm2x16_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packunorm2x16_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm2x16_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackunorm2x16_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packhalf2x16_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#packhalf2x16_compute
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackhalf2x16_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.pack_unpack#unpackhalf2x16_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.uaddcarry#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.usubborrow#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.umulextended#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.imulextended#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldextract#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldinsert#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitfieldreverse#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.bitcount#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findlsb#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#int_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#ivec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uint_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec2_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec3_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_vertex
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_fragment
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_geometry
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_tess_control
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_tess_eval
-dEQP-GLES31.functional.shaders.builtin_functions.integer.findmsb#uvec4_highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_int_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_int_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_int_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_int_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_uint_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_uint_2d
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_1_texture_uint_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.texture_size#samples_4_texture_uint_2d_array
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.add.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sub.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mul.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.div.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.radians.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.degrees.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acos.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sinh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cosh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asinh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.exp2.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.log2.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sqrt.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inversesqrt.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.abs.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sign.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.floor.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.trunc.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.round.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.roundeven.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ceil.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fract.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mod.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.min.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.max.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.clamp.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.step.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.smoothstep.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.smoothstep.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.smoothstep.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.smoothstep.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.length.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.distance.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.dot.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cross#lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cross#mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cross#highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.normalize.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.faceforward.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.reflect.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.lowp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.mediump_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.matrixcompmult.highp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.lowp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.mediump_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.outerproduct.highp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.lowp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.mediump_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat2x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat2x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat3x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat3x4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat4x2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat4x3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.transpose.highp_compute#mat4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.determinant.lowp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.determinant.mediump_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.determinant.highp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inverse.lowp_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.inverse.mediump_compute#mat2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.frexp.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_fragment#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_fragment#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_fragment#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_fragment#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_fragment#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_fragment#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_fragment#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_fragment#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_fragment#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_fragment#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_fragment#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_fragment#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.ldexp.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_fragment#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_fragment#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_fragment#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_fragment#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_vertex#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_vertex#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_vertex#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_vertex#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_fragment#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_fragment#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_fragment#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_fragment#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.fma.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.max_samples#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.sample_mask#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_pixel#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_pixel#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_sample#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.discard_half_per_two_samples#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_pixel#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_sample#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask.inverse_per_two_samples#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.sample_qualifier#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.static_sample_number#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.dynamic_sample_number#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_0_default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_0_singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_0_singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_n_default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_n_singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.non_multisample_buffer#sample_n_singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.centroid_qualified#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.at_sample_id#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.consistency#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.array_element#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_rbo_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#singlesample_texture
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_texture_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_texture_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_texture_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_texture_8
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#singlesample_rbo
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_rbo_1
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_rbo_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_rbo_4
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_rbo_8
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.vertex#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.compute#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.vertex#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.fragment#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_expression.compute#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.vertex#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.fragment#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.uniform.compute#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.vertex#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.fragment#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#sampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#samplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#sampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#sampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#sampler2dshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#samplercubeshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#sampler2darrayshadow
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#isampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#isamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#isampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#isampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#usampler2d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#usamplercube
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#usampler2darray
-dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.dynamically_uniform.compute#usampler3d
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_literal_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_literal_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_literal_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_expression_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_expression_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#const_expression_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#uniform_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#uniform_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#uniform_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#dynamically_uniform_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#dynamically_uniform_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ubo#dynamically_uniform_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_literal_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_literal_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_literal_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_expression_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_expression_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.ssbo#const_expression_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_literal_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_literal_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_literal_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_expression_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_expression_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#const_expression_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#uniform_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#uniform_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#uniform_compute
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#dynamically_uniform_vertex
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#dynamically_uniform_fragment
-dEQP-GLES31.functional.shaders.opaque_type_indexing.atomic_counter#dynamically_uniform_compute
-dEQP-GLES31.functional.shaders.functions.overloading#arrays_of_arrays_size_vertex
-dEQP-GLES31.functional.shaders.functions.overloading#arrays_of_arrays_size_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#float_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#float_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#int_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#int_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#int_4x4x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#int_4x4x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bool_2x1x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bool_2x1x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#struct_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#struct_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#struct_4x1x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#struct_4x1x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#vec3_4x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#vec3_4x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#ivec3_3x2x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#ivec3_3x2x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bvec3_1x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#bvec3_1x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#high_dimensional_array_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.explicit#high_dimensional_array_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#float_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#float_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_4x4x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_4x4x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bool_2x1x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bool_2x1x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#struct_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#struct_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#struct_4x1x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#struct_4x1x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#vec3_4x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#vec3_4x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#ivec3_3x2x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#ivec3_3x2x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bvec3_1x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#bvec3_1x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_high_dimensional_array_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.constructor.implicit#int_high_dimensional_array_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#int_2x2x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#int_2x2x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#bool_3x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#bool_3x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#vec3_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#vec3_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#struct_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#struct_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#ivec3_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#ivec3_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#bvec4_4x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#bvec4_4x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.explicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#int_2x2x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#int_2x2x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#bool_3x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#bool_3x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#vec3_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#vec3_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#struct_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#struct_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#ivec3_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#ivec3_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#bvec4_4x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#bvec4_4x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.return.implicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#int_2x2x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#int_2x2x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#bool_3x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#bool_3x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#vec3_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#vec3_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#struct_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#struct_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#ivec3_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#ivec3_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#bvec4_4x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#bvec4_4x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.in#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#int_2x2x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#int_2x2x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#bool_3x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#bool_3x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#vec3_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#vec3_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#struct_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#struct_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#ivec3_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#ivec3_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#bvec4_4x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#bvec4_4x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.out#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#int_2x2x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#int_2x2x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#bool_3x2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#bool_3x2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#vec3_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#vec3_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#struct_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#struct_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#ivec3_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#ivec3_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#bvec4_4x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#bvec4_4x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.parameter.unnamed#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#int_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#int_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#struct_5x5x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#struct_5x5x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#vec3_1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#vec3_1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#ivec3_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#ivec3_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#bvec3_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#bvec3_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.implicit_size#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#int_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#int_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#struct_5x5x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#struct_5x5x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#vec3_1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#vec3_1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#ivec3_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#ivec3_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#bvec3_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#bvec3_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_explicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#int_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#int_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#struct_5x5x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#struct_5x5x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#vec3_1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#vec3_1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#ivec3_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#ivec3_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#bvec3_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#bvec3_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_explicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#float_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#float_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#int_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#int_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#bool_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#bool_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#struct_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#struct_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#mat3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#mat3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#constant_expression_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.length#constant_expression_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.array_access#constant_expression_access_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.array_access#constant_expression_access_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.array_access#dynamic_expression_access_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.array_access#dynamic_expression_access_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.explicit_constructor#float_2_dimensions_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.explicit_constructor#float_2_dimensions_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.explicit_constructor#int_3_dimensions_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.explicit_constructor#int_3_dimensions_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.implicit_constructor#float_2_dimensions_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.implicit_constructor#float_2_dimensions_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.implicit_constructor#int_3_dimensions_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.single_statement_multiple_declarations.implicit_constructor#int_3_dimensions_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#dynamic_expression_array_size_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#dynamic_expression_array_size_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#empty_declaration_with_var_name_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#empty_declaration_with_var_name_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#uniform_block_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#uniform_block_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#storage_block_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#storage_block_fragment
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_type_mismatch
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_type_mismatch
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_different_precision
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_different_precision
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_superfluous_declaration
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_superfluous_declaration
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_array_explicit_size
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_non_array
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_block
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_block_explicit_size
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_block_non_array
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_block
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_block_array
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#unspecified_input_primitive_type
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#unspecified_output_primitive_type
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#access_more_than_available_input_vertices
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#float
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#vec2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#vec3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#vec4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat2x3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat2x4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat3x2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat3x4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat4x2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat4x3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#mat4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#int
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#ivec2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#ivec3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#ivec4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#uint
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#uvec2
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#uvec3
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#uvec4
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#float_struct
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.types#float_array
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.qualifiers#smooth
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.qualifiers#flat
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.qualifiers#centroid
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.qualifiers#sample
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules#type_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules#type_mismatch_2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules#precision_mismatch
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.rules#struct_partial_usage
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#float
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#vec2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#vec3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#vec4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat2x3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat2x4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat3x2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat3x4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat4x2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat4x3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#mat4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#int
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#ivec2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#ivec3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#ivec4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#uint
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#uvec2
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#uvec3
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#uvec4
-dEQP-GLES31.functional.shaders.linkage.geometry.uniform.types#float_struct
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_type_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_type_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#internal_type_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_different_precision
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_different_precision
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#internal_different_precision
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_superfluous_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_superfluous_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#internal_superfluous_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#vertex_fragment_same_varying_name_1
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#vertex_fragment_same_varying_name_2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#invalid_vertex_index
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_non_array
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_array_size_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#internal_array_size_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#per_patch_qualifier_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_block
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_block_non_array
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_block_array_size_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_block
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_block_array
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#unspecified_vertex_count
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#unspecified_primitive_mode
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.qualifiers#smooth
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.qualifiers#flat
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.qualifiers#centroid
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.qualifiers#sample
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.qualifiers#patch
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#float
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#vec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#vec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#vec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat2x3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat2x4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat3x2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat3x4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat4x2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat4x3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#mat4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#int
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#ivec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#ivec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#ivec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#uint
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#uvec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#uvec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#uvec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#float_struct
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.types#float_array
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#type_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#type_mismatch_2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#type_mismatch_3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#type_mismatch_4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#precision_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#precision_mismatch_2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.rules#struct_partial_usage
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#float
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#vec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#vec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#vec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat2x3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat2x4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat3x2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat3x4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat4x2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat4x3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#mat4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#int
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#ivec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#ivec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#ivec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#uint
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#uvec2
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#uvec3
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#uvec4
-dEQP-GLES31.functional.shaders.linkage.tessellation.uniform.types#float_struct
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#type_mismatch
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#different_precision
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#superfluous_output_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#vertex_geometry_same_varying_name_1
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#vertex_geometry_same_varying_name_2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#io_block
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#array_in_io_block
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#float
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#vec2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#vec3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#vec4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat2x3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat2x4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat3x2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat3x4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat4x2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat4x3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#mat4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#int
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#ivec2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#ivec3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#ivec4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#uint
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#uvec2
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#uvec3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#uvec4
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#float_struct
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.types#float_array
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.uniform.rules#type_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.uniform.rules#precision_mismatch_1
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.uniform.rules#struct_partial_usage
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_number_of_declarations
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_order
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_type
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_member_name
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_member_unsized_sized_array
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_member_array_size
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_with_and_without_instance_name
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#mismatch_block_array_size
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#ambiguous_variable_name_1
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#ambiguous_variable_name_2
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_number_of_declarations
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_order
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_type
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_member_array_size
-dEQP-GLES31.functional.shaders.linkage.io_block#ambiguous_variable_name_1
-dEQP-GLES31.functional.shaders.linkage.io_block#ambiguous_variable_name_2
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_attribs
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_uniform_vectors
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_output_vectors
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_fragment_input_vectors
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_fragment_uniform_vectors
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_draw_buffers
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_combined_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.core#min_program_texel_offset
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_program_texel_offset
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_image_uniforms
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_fragment_image_uniforms
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_image_uniforms
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_combined_image_uniforms
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_combined_shader_output_resources
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_uniform_components
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_atomic_counters
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_atomic_counter_buffers
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_atomic_counters
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_fragment_atomic_counters
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_combined_atomic_counters
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_atomic_counter_bindings
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_fragment_atomic_counter_buffers
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_work_group_count
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_compute_work_group_size
-dEQP-GLES31.functional.shaders.builtin_constants.sample_variables#max_samples
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_input_components
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_output_components
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_image_uniforms
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_output_vertices
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_total_output_components
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_uniform_components
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_atomic_counters
-dEQP-GLES31.functional.shaders.builtin_constants.geometry_shader#max_geometry_atomic_counter_buffers
-dEQP-GLES31.functional.shaders.helper_invocation.value#triangles
-dEQP-GLES31.functional.shaders.helper_invocation.value#lines
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_lines
-dEQP-GLES31.functional.shaders.helper_invocation.value#points
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_points
-dEQP-GLES31.functional.shaders.helper_invocation.value#triangles_4_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#lines_4_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_lines_4_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#points_4_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_points_4_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#triangles_8_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#lines_8_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_lines_8_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#points_8_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_points_8_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#triangles_max_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#lines_max_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_lines_max_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#points_max_samples
-dEQP-GLES31.functional.shaders.helper_invocation.value#wide_points_max_samples
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_4_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_4_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_4_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_4_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_4_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_4_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_4_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_4_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_4_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_4_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_4_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_4_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_4_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_4_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_4_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_8_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_8_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_8_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_8_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_8_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_8_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_8_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_8_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_8_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_8_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_8_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_8_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_8_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_8_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_8_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_max_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_max_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#triangles_max_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_max_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_max_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#lines_max_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_max_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_max_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_lines_max_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_max_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_max_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#points_max_samples_fwidth
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_max_samples_dfdx
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_max_samples_dfdy
-dEQP-GLES31.functional.shaders.helper_invocation.derivate#wide_points_max_samples_fwidth
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.input_before_subscript#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.array_subscripts.subscript_before_input#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.functions#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.input_before_field#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.struct_fields.field_before_input#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#int_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uint_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec2_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec3_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#uvec4_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#float_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec2_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec3_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_int_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_int_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_ivec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#vec4_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.arrays#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#int_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#int_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#int_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#int_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.structs#uvec4_to_vec4_fragment
-dEQP-GLES31.functional.compute.basic#empty
-dEQP-GLES31.functional.compute.basic#ubo_to_ssbo_single_invocation
-dEQP-GLES31.functional.compute.basic#ubo_to_ssbo_single_group
-dEQP-GLES31.functional.compute.basic#ubo_to_ssbo_multiple_invocations
-dEQP-GLES31.functional.compute.basic#ubo_to_ssbo_multiple_groups
-dEQP-GLES31.functional.compute.basic#copy_ssbo_single_invocation
-dEQP-GLES31.functional.compute.basic#copy_ssbo_multiple_invocations
-dEQP-GLES31.functional.compute.basic#copy_ssbo_multiple_groups
-dEQP-GLES31.functional.compute.basic#ssbo_rw_single_invocation
-dEQP-GLES31.functional.compute.basic#ssbo_rw_multiple_groups
-dEQP-GLES31.functional.compute.basic#ssbo_unsized_arr_single_invocation
-dEQP-GLES31.functional.compute.basic#ssbo_unsized_arr_multiple_groups
-dEQP-GLES31.functional.compute.basic#write_multiple_arr_single_invocation
-dEQP-GLES31.functional.compute.basic#write_multiple_arr_multiple_groups
-dEQP-GLES31.functional.compute.basic#write_multiple_unsized_arr_single_invocation
-dEQP-GLES31.functional.compute.basic#write_multiple_unsized_arr_multiple_groups
-dEQP-GLES31.functional.compute.basic#ssbo_local_barrier_single_invocation
-dEQP-GLES31.functional.compute.basic#ssbo_local_barrier_single_group
-dEQP-GLES31.functional.compute.basic#ssbo_local_barrier_multiple_groups
-dEQP-GLES31.functional.compute.basic#ssbo_cmd_barrier_single
-dEQP-GLES31.functional.compute.basic#ssbo_cmd_barrier_multiple
-dEQP-GLES31.functional.compute.basic#shared_var_single_invocation
-dEQP-GLES31.functional.compute.basic#shared_var_single_group
-dEQP-GLES31.functional.compute.basic#shared_var_multiple_invocations
-dEQP-GLES31.functional.compute.basic#shared_var_multiple_groups
-dEQP-GLES31.functional.compute.basic#shared_atomic_op_single_invocation
-dEQP-GLES31.functional.compute.basic#shared_atomic_op_single_group
-dEQP-GLES31.functional.compute.basic#shared_atomic_op_multiple_invocations
-dEQP-GLES31.functional.compute.basic#shared_atomic_op_multiple_groups
-dEQP-GLES31.functional.compute.basic#copy_image_to_ssbo_small
-dEQP-GLES31.functional.compute.basic#copy_ssbo_to_image_small
-dEQP-GLES31.functional.compute.basic#image_atomic_op_local_size_1
-dEQP-GLES31.functional.compute.basic#image_atomic_op_local_size_8
-dEQP-GLES31.functional.compute.basic#image_barrier_single
-dEQP-GLES31.functional.compute.basic#image_barrier_multiple
-dEQP-GLES31.functional.compute.basic#atomic_counter_single_invocation
-dEQP-GLES31.functional.compute.basic#atomic_counter_single_group
-dEQP-GLES31.functional.compute.basic#atomic_counter_multiple_invocations
-dEQP-GLES31.functional.compute.basic#atomic_counter_multiple_groups
-dEQP-GLES31.functional.compute.shared_var.basic_type#float_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#float_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#float_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#vec4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat2x4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat3x4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4x3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#mat4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#int_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#int_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#int_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#ivec4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uint_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uint_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#uint_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec2_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec2_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec2_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec3_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec3_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec3_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec4_lowp
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec4_mediump
-dEQP-GLES31.functional.compute.shared_var.basic_type#uvec4_highp
-dEQP-GLES31.functional.compute.shared_var.basic_type#bool
-dEQP-GLES31.functional.compute.shared_var.basic_type#bvec2
-dEQP-GLES31.functional.compute.shared_var.basic_type#bvec3
-dEQP-GLES31.functional.compute.shared_var.basic_type#bvec4
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_1_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_64_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_1_64_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_1_1_64
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_128_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_1_128_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#float_13_2_4
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_1_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_64_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_1_64_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_1_1_64
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_128_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_1_128_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#vec4_13_2_4
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_1_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_64_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_1_64_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_1_1_64
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_128_1_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_1_128_1
-dEQP-GLES31.functional.compute.shared_var.work_group_size#mat4_13_2_4
-dEQP-GLES31.functional.compute.shared_var.atomic.add#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.add#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.add#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.add#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.add#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.add#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.min#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.min#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.min#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.min#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.min#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.min#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.max#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.max#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.max#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.max#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.max#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.max#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.and#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.and#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.and#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.and#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.and#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.and#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.or#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.or#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.or#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.or#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.or#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.or#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.xor#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.exchange#highp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#lowp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#lowp_int
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#mediump_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#mediump_int
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#highp_uint
-dEQP-GLES31.functional.compute.shared_var.atomic.compswap#highp_int
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#single_invocation
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#multiple_groups
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#multiple_groups_multiple_invocations
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#small_offset
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#large_offset
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#large_offset_multiple_invocations
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#empty_command
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#multi_dispatch
-dEQP-GLES31.functional.compute.indirect_dispatch.upload_buffer#multi_dispatch_reuse_command
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#single_invocation
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#multiple_groups
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#multiple_groups_multiple_invocations
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#small_offset
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#empty_command
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#multi_dispatch
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#multi_dispatch_reuse_command
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.first#first_1
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.first#first_3
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.first#first_17
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.points#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.points#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.points#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.points#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangles#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangles#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangles#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangles#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_fan#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_fan#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_fan#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_fan#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_strip#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_strip#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_strip#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.triangle_strip#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.lines#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.lines#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.lines#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.lines#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_strip#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_loop#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_loop#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_loop#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect.line_loop#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.indices#index_byte
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.indices#index_short
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.indices#index_int
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_byte
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_short
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_int
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_neg_byte
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_neg_short
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.base_vertex#index_neg_int
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.points#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.points#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.points#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.points#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangles#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangles#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangles#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangles#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_fan#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_fan#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_fan#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_fan#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_strip#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_strip#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_strip#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.triangle_strip#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.lines#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.lines#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.lines#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.lines#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_strip#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_strip#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_strip#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_strip#default_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_loop#single_attribute
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_loop#multiple_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_loop#instanced_attributes
-dEQP-GLES31.functional.draw_indirect.draw_elements_indirect.line_loop#default_attribute
-dEQP-GLES31.functional.draw_indirect.instancing#draw_arrays_indirect_grid_2x2
-dEQP-GLES31.functional.draw_indirect.instancing#draw_arrays_indirect_grid_5x5
-dEQP-GLES31.functional.draw_indirect.instancing#draw_arrays_indirect_grid_10x10
-dEQP-GLES31.functional.draw_indirect.instancing#draw_arrays_indirect_grid_32x32
-dEQP-GLES31.functional.draw_indirect.instancing#draw_arrays_indirect_grid_100x100
-dEQP-GLES31.functional.draw_indirect.instancing#draw_elements_indirect_grid_2x2
-dEQP-GLES31.functional.draw_indirect.instancing#draw_elements_indirect_grid_5x5
-dEQP-GLES31.functional.draw_indirect.instancing#draw_elements_indirect_grid_10x10
-dEQP-GLES31.functional.draw_indirect.instancing#draw_elements_indirect_grid_32x32
-dEQP-GLES31.functional.draw_indirect.instancing#draw_elements_indirect_grid_100x100
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawarrays_compute_cmd
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawarrays_compute_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawarrays_compute_cmd_and_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_cmd
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_cmd_and_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_cmd_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_data_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.separate#drawelements_compute_cmd_and_data_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.combined#drawarrays_compute_cmd_and_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.combined#drawelements_compute_cmd_and_data
-dEQP-GLES31.functional.draw_indirect.compute_interop.combined#drawelements_compute_cmd_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.combined#drawelements_compute_data_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.combined#drawelements_compute_cmd_and_data_and_indices
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_100x100_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_200x200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_500x500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_1200x1200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_1500x1500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_100x100_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_200x200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_500x500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_1200x1200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_1500x1500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_100x100_drawcount_200
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_200x200_drawcount_800
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_separate_grid_500x500_drawcount_2500
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_100x100_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_200x200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_500x500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_1200x1200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_1500x1500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_100x100_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_200x200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_500x500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_1200x1200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_1500x1500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_100x100_drawcount_200
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_200x200_drawcount_800
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawarrays_combined_grid_500x500_drawcount_2500
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_100x100_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_200x200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_500x500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_100x100_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_200x200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_500x500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_100x100_drawcount_200
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_200x200_drawcount_800
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_separate_grid_500x500_drawcount_2500
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_100x100_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_200x200_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_500x500_drawcount_1
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_100x100_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_200x200_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_500x500_drawcount_8
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_100x100_drawcount_200
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_200x200_drawcount_800
-dEQP-GLES31.functional.draw_indirect.compute_interop.large#drawelements_combined_grid_500x500_drawcount_2500
-dEQP-GLES31.functional.draw_indirect.random#2
-dEQP-GLES31.functional.draw_indirect.random#3
-dEQP-GLES31.functional.draw_indirect.random#4
-dEQP-GLES31.functional.draw_indirect.random#5
-dEQP-GLES31.functional.draw_indirect.random#6
-dEQP-GLES31.functional.draw_indirect.random#7
-dEQP-GLES31.functional.draw_indirect.random#8
-dEQP-GLES31.functional.draw_indirect.random#11
-dEQP-GLES31.functional.draw_indirect.random#12
-dEQP-GLES31.functional.draw_indirect.random#13
-dEQP-GLES31.functional.draw_indirect.random#14
-dEQP-GLES31.functional.draw_indirect.random#17
-dEQP-GLES31.functional.draw_indirect.random#19
-dEQP-GLES31.functional.draw_indirect.random#20
-dEQP-GLES31.functional.draw_indirect.random#21
-dEQP-GLES31.functional.draw_indirect.random#22
-dEQP-GLES31.functional.draw_indirect.random#24
-dEQP-GLES31.functional.draw_indirect.random#25
-dEQP-GLES31.functional.draw_indirect.random#27
-dEQP-GLES31.functional.draw_indirect.random#28
-dEQP-GLES31.functional.draw_indirect.random#29
-dEQP-GLES31.functional.draw_indirect.random#30
-dEQP-GLES31.functional.draw_indirect.random#31
-dEQP-GLES31.functional.draw_indirect.random#32
-dEQP-GLES31.functional.draw_indirect.random#35
-dEQP-GLES31.functional.draw_indirect.random#36
-dEQP-GLES31.functional.draw_indirect.random#37
-dEQP-GLES31.functional.draw_indirect.random#38
-dEQP-GLES31.functional.draw_indirect.random#39
-dEQP-GLES31.functional.draw_indirect.random#40
-dEQP-GLES31.functional.draw_indirect.random#42
-dEQP-GLES31.functional.draw_indirect.random#43
-dEQP-GLES31.functional.draw_indirect.random#44
-dEQP-GLES31.functional.draw_indirect.random#45
-dEQP-GLES31.functional.draw_indirect.random#46
-dEQP-GLES31.functional.draw_indirect.random#47
-dEQP-GLES31.functional.draw_indirect.random#48
-dEQP-GLES31.functional.draw_indirect.random#49
-dEQP-GLES31.functional.draw_indirect.random#50
-dEQP-GLES31.functional.draw_indirect.random#51
-dEQP-GLES31.functional.draw_indirect.random#52
-dEQP-GLES31.functional.draw_indirect.random#53
-dEQP-GLES31.functional.draw_indirect.random#54
-dEQP-GLES31.functional.draw_indirect.random#55
-dEQP-GLES31.functional.draw_indirect.random#56
-dEQP-GLES31.functional.draw_indirect.random#57
-dEQP-GLES31.functional.draw_indirect.random#61
-dEQP-GLES31.functional.draw_indirect.negative#command_bad_alignment_1
-dEQP-GLES31.functional.draw_indirect.negative#command_bad_alignment_2
-dEQP-GLES31.functional.draw_indirect.negative#command_bad_alignment_3
-dEQP-GLES31.functional.draw_indirect.negative#command_offset_partially_in_buffer
-dEQP-GLES31.functional.draw_indirect.negative#command_offset_not_in_buffer
-dEQP-GLES31.functional.draw_indirect.negative#client_vertex_attrib_array
-dEQP-GLES31.functional.draw_indirect.negative#client_command_array
-dEQP-GLES31.functional.draw_indirect.negative#default_vao
-dEQP-GLES31.functional.draw_indirect.negative#invalid_mode_draw_arrays
-dEQP-GLES31.functional.draw_indirect.negative#invalid_mode_draw_elements
-dEQP-GLES31.functional.draw_indirect.negative#invalid_type_draw_elements
-dEQP-GLES31.functional.tessellation.tesscoord#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#isolines_equal_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#isolines_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.tesscoord#isolines_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.winding#triangles_ccw
-dEQP-GLES31.functional.tessellation.winding#triangles_cw
-dEQP-GLES31.functional.tessellation.winding#quads_ccw
-dEQP-GLES31.functional.tessellation.winding#quads_cw
-dEQP-GLES31.functional.tessellation.shader_input_output#patch_vertices_5_in_10_out
-dEQP-GLES31.functional.tessellation.shader_input_output#patch_vertices_10_in_5_out
-dEQP-GLES31.functional.tessellation.shader_input_output#primitive_id_tcs
-dEQP-GLES31.functional.tessellation.shader_input_output#primitive_id_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#patch_vertices_in_tcs
-dEQP-GLES31.functional.tessellation.shader_input_output#patch_vertices_in_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_inner_0_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_inner_1_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_outer_0_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_outer_1_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_outer_2_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#tess_level_outer_3_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#gl_position_vs_to_tcs
-dEQP-GLES31.functional.tessellation.shader_input_output#gl_position_tcs_to_tes
-dEQP-GLES31.functional.tessellation.shader_input_output#gl_position_vs_to_tcs_to_tes
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_quads_equal_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_overlap_quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#isolines_equal_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#isolines_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#isolines_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.common_edge#triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.common_edge#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.common_edge#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.common_edge#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.common_edge#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.common_edge#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.fractional_spacing#odd
-dEQP-GLES31.functional.tessellation.fractional_spacing#even
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.primitive_discard#isolines_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.primitive_set#isolines_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_division#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_symmetry#isolines_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.outer_edge_index_independence#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.triangle_set#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.inner_triangle_set#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#quads_equal_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.invariance.outer_triangle_set#quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.tess_coord_component_range#isolines_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#triangles_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#quads_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_equal_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_equal_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_equal_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_equal_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_odd_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_odd_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_odd_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_odd_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_even_spacing_ccw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_even_spacing_ccw_point_mode
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_even_spacing_cw
-dEQP-GLES31.functional.tessellation.invariance.one_minus_tess_coord_component#isolines_fractional_even_spacing_cw_point_mode
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_implicit#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_implicit#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_implicit#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_shader_builtin#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_shader_builtin#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_shader_builtin#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_query#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_query#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex_block.vertex_io_array_size_query#isolines
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#row_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.shared#column_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#row_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.packed#column_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#row_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std140#column_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_float
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_int
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#row_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_lowp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_mediump_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_type.std430#column_major_highp_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#float
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#int
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#float
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#int
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#float
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#int
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#float
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#int
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#uint
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#bool
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_basic_array.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#float
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#int
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#uint
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#bool
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#float
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#int
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#uint
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#bool
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#float
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#int
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#uint
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#bool
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#float
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#int
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#uint
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#bool
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.basic_unsized_array.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#float
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#int
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#uint
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#bool
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#float
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#int
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#uint
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#bool
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#float
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#int
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#uint
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#bool
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#float
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#int
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#uint
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#bool
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.2_level_array.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#float
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#int
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#float
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#int
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#float
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#int
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#float
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#int
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_array.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#float
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#int
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#float
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#int
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#float
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#int
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#float
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#int
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#uint
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#bool
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.3_level_unsized_array.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.single_struct.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_struct_array.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.single_nested_struct_array.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_struct_array.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.2_level_unsized_struct_array.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.unsized_nested_struct_array.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#float
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#vec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#vec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#vec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#int
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#ivec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#ivec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#ivec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#uint
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#uvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#uvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#uvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#bool
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#bvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#bvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#bvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.shared#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#float
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#vec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#vec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#vec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#int
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#ivec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#ivec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#ivec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#uint
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#uvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#uvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#uvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#bool
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#bvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#bvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#bvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#float
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#vec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#vec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#vec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#int
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#ivec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#ivec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#ivec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#uint
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#uvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#uvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#uvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#bool
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#bvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#bvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#bvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std140#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#float
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#vec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#vec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#vec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#int
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#ivec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#ivec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#ivec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#uint
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#uvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#uvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#uvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#bool
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#bvec2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#bvec3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#bvec4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat2x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat2x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat3x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat3x4
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat4x2
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#row_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.std430#column_major_mat4x3
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.multi_basic_types.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.per_block_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#shared
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#shared_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#packed
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#packed_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#std140
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#std140_instance_array
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#std430
-dEQP-GLES31.functional.ssbo.layout.multi_nested_struct.single_buffer#std430_instance_array
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#0
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#1
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#2
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#3
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#4
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#5
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#6
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#7
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#8
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#9
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#10
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#11
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#12
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#13
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#14
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#15
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#16
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#17
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#18
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#19
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#20
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#21
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#22
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#23
-dEQP-GLES31.functional.ssbo.layout.random.scalar_types#24
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#0
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#1
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#2
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#3
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#4
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#5
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#6
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#7
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#8
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#9
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#10
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#11
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#12
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#13
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#14
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#15
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#16
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#17
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#18
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#19
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#20
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#21
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#22
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#23
-dEQP-GLES31.functional.ssbo.layout.random.vector_types#24
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#0
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#1
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#2
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#3
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#4
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#5
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#6
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#7
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#8
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#9
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#10
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#11
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#12
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#13
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#14
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#15
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#16
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#17
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#18
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#19
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#20
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#21
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#22
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#23
-dEQP-GLES31.functional.ssbo.layout.random.basic_types#24
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.basic_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.unsized_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.arrays_of_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.basic_instance_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#0
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#1
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#2
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#3
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#4
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#5
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#6
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#7
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#8
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#9
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#10
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#11
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#12
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#13
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#14
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#15
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#16
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#17
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#18
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#19
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#20
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#21
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#22
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#23
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs#24
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_instance_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#0
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#1
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#2
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#3
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#4
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#5
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#6
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#7
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#8
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#9
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#10
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#11
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#12
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#13
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#14
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#15
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#16
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#17
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#18
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#19
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#20
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#21
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#22
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#23
-dEQP-GLES31.functional.ssbo.layout.random.nested_structs_arrays_instance_arrays#24
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#0
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#1
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#2
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#3
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#4
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#5
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#6
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#7
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#8
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#9
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#10
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#11
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#12
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#13
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#14
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#15
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#16
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#17
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#18
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#19
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#21
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#22
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#23
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#24
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#25
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#26
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#27
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#28
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#29
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#30
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#31
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#32
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#33
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#34
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#35
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#36
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#37
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#38
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#39
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#40
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#41
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#42
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#43
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#44
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#45
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#46
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#47
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#48
-dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers#49
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#0
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#1
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#2
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#3
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#4
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#6
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#7
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#8
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#9
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#10
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#11
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#12
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#13
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#14
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#15
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#16
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#17
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#18
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#19
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#20
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#21
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#22
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#24
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#25
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#26
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#27
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#28
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#29
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#30
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#31
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#32
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#33
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#34
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#35
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#36
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#37
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#38
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#39
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#40
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#41
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#42
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#43
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#44
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#45
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#46
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#47
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#48
-dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer#49
-dEQP-GLES31.functional.ssbo.atomic.add#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.add#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.add#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.add#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.add#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.add#highp_int
-dEQP-GLES31.functional.ssbo.atomic.min#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.min#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.min#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.min#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.min#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.min#highp_int
-dEQP-GLES31.functional.ssbo.atomic.max#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.max#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.max#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.max#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.max#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.max#highp_int
-dEQP-GLES31.functional.ssbo.atomic.and#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.and#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.and#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.and#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.and#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.and#highp_int
-dEQP-GLES31.functional.ssbo.atomic.or#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.or#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.or#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.or#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.or#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.or#highp_int
-dEQP-GLES31.functional.ssbo.atomic.xor#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.xor#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.xor#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.xor#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.xor#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.xor#highp_int
-dEQP-GLES31.functional.ssbo.atomic.exchange#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.exchange#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.exchange#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.exchange#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.exchange#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.exchange#highp_int
-dEQP-GLES31.functional.ssbo.atomic.compswap#lowp_uint
-dEQP-GLES31.functional.ssbo.atomic.compswap#lowp_int
-dEQP-GLES31.functional.ssbo.atomic.compswap#mediump_uint
-dEQP-GLES31.functional.ssbo.atomic.compswap#mediump_int
-dEQP-GLES31.functional.ssbo.atomic.compswap#highp_uint
-dEQP-GLES31.functional.ssbo.atomic.compswap#highp_int
-dEQP-GLES31.functional.ssbo.array_length#sized_array
-dEQP-GLES31.functional.ssbo.array_length#sized_writeonly_array
-dEQP-GLES31.functional.ssbo.array_length#sized_readonly_array
-dEQP-GLES31.functional.ssbo.array_length#unsized_array
-dEQP-GLES31.functional.ssbo.array_length#unsized_readonly_array
-dEQP-GLES31.functional.ubo.2_level_array.shared#float_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#float_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#float_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#vec4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#int_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#int_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#int_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#ivec4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#uint_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#uint_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#uint_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#uvec4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#bool_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#bool_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#bool_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#bvec4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#row_major_mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.shared#column_major_mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_array.packed#float_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#float_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#vec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#int_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#int_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#ivec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#uint_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#uint_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#uvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#bool_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#bool_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#bvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.packed#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#float_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#float_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#float_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#vec4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#int_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#int_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#int_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#ivec4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#uint_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#uint_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#uint_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#uvec4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#bool_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#bool_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#bool_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#bvec4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat2x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat3x4_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x2_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#row_major_mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.2_level_array.std140#column_major_mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#float_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#float_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#float_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#vec4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#int_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#int_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#int_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#ivec4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#uint_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#uint_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#uint_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#uvec4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#bool_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#bool_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#bool_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#bvec4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#row_major_mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.shared#column_major_mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.packed#float_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#float_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#vec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#int_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#int_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#ivec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#uint_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#uint_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#uvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#bool_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#bool_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#bvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.packed#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#float_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#float_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#float_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#vec4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#int_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#int_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#int_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#ivec4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#uint_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#uint_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#uint_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#uvec4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#bool_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#bool_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#bool_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#bvec4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat2x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x4_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x4_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat3x4_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x2_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x2_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x2_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#row_major_mat4x3_both
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x3_vertex
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x3_fragment
-dEQP-GLES31.functional.ubo.3_level_array.std140#column_major_mat4x3_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#shared_instance_array_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#packed_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#packed_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#packed_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#packed_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.per_block_buffer#std140_instance_array_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#shared_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#shared_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#shared_instance_array_both
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#packed_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#packed_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#std140_instance_array_vertex
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#std140_instance_array_fragment
-dEQP-GLES31.functional.ubo.2_level_struct_array.single_buffer#std140_instance_array_both
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#0
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#1
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#2
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#3
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#4
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#5
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#6
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#7
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#8
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#9
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#10
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#11
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#12
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#13
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#14
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#15
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#16
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#17
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#18
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#19
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#20
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#21
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#22
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#23
-dEQP-GLES31.functional.ubo.random.basic_type_arrays#24
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#0
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#1
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#2
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#3
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#4
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#5
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#6
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#7
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#8
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#9
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#10
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#11
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#12
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#13
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#14
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#15
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#16
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#17
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#18
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#19
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#21
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#22
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#23
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#24
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#25
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#26
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#27
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#28
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#29
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#30
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#31
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#32
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#33
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#34
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#35
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#36
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#37
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#38
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#39
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#40
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#42
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#43
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#44
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#45
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#46
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#47
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#48
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#49
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#0
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#1
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#2
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#3
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#4
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#5
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#6
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#7
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#8
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#9
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#10
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#11
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#12
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#13
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#14
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#15
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#16
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#17
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#18
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#19
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#20
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#21
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#22
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#23
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#24
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#25
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#26
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#27
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#28
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#29
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#30
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#31
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#32
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#33
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#34
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#35
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#36
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#37
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#38
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#39
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#40
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#41
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#42
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#43
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#44
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#45
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#46
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#47
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#48
-dEQP-GLES31.functional.ubo.random.all_shared_buffer#49
-dEQP-GLES31.functional.image_load_store.2d.store#rgba32f
-dEQP-GLES31.functional.image_load_store.2d.store#rgba16f
-dEQP-GLES31.functional.image_load_store.2d.store#r32f
-dEQP-GLES31.functional.image_load_store.2d.store#rgba32ui
-dEQP-GLES31.functional.image_load_store.2d.store#rgba16ui
-dEQP-GLES31.functional.image_load_store.2d.store#rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.store#r32ui
-dEQP-GLES31.functional.image_load_store.2d.store#rgba32i
-dEQP-GLES31.functional.image_load_store.2d.store#rgba16i
-dEQP-GLES31.functional.image_load_store.2d.store#rgba8i
-dEQP-GLES31.functional.image_load_store.2d.store#r32i
-dEQP-GLES31.functional.image_load_store.2d.store#rgba8
-dEQP-GLES31.functional.image_load_store.2d.store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba32f
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba16f
-dEQP-GLES31.functional.image_load_store.2d.load_store#r32f
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba32ui
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba16ui
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.load_store#r32ui
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba32i
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba16i
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba8i
-dEQP-GLES31.functional.image_load_store.2d.load_store#r32i
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba8
-dEQP-GLES31.functional.image_load_store.2d.load_store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32f_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32f_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#add_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#add_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#min_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#min_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#max_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#max_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#and_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#and_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#or_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#or_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#xor_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#xor_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#comp_swap_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#add_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#add_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#min_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#min_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#max_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#max_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#and_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#and_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#or_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#or_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#xor_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#xor_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.atomic#exchange_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d.atomic#comp_swap_r32i_result
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#coherent_r32f
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#volatile_r32f
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#coherent_r32ui
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#volatile_r32ui
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#coherent_r32i
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#volatile_r32i
-dEQP-GLES31.functional.image_load_store.2d.qualifiers#restrict
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32f_rgba32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32f_rgba32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16f_rgba16ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16f_rgba16i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_rgba8
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32f_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32ui_rgba32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32ui_rgba32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16ui_rgba16f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16ui_rgba16i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_rgba8
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_rgba8
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32i_rgba32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba32i_rgba32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16i_rgba16f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba16i_rgba16ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_rgba8
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_rgba8
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#r32i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_r32f
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_r32ui
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_rgba8i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_r32i
-dEQP-GLES31.functional.image_load_store.2d.format_reinterpret#rgba8_snorm_rgba8
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_32x32
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_12x34
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_1x1
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_7x1
-dEQP-GLES31.functional.image_load_store.2d.image_size#writeonly_32x32
-dEQP-GLES31.functional.image_load_store.2d.image_size#writeonly_12x34
-dEQP-GLES31.functional.image_load_store.2d.image_size#writeonly_1x1
-dEQP-GLES31.functional.image_load_store.2d.image_size#writeonly_7x1
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_writeonly_32x32
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_writeonly_12x34
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_writeonly_1x1
-dEQP-GLES31.functional.image_load_store.2d.image_size#readonly_writeonly_7x1
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32f
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16f
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#r32f
-dEQP-GLES31.functional.image_load_store.cube.store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32ui
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16ui
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#r32ui
-dEQP-GLES31.functional.image_load_store.cube.store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32i
-dEQP-GLES31.functional.image_load_store.cube.store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16i
-dEQP-GLES31.functional.image_load_store.cube.store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8i
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#r32i
-dEQP-GLES31.functional.image_load_store.cube.store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32f
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16f
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32f
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32ui
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16ui
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32ui
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32i
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16i
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8i
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32i
-dEQP-GLES31.functional.image_load_store.cube.load_store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.load_store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32f_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32f_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#add_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#add_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#min_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#min_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#max_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#max_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#and_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#and_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#or_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#or_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#xor_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#xor_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#comp_swap_r32ui_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#add_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#add_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#min_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#min_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#max_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#max_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#and_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#and_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#or_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#or_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#xor_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#xor_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.atomic#exchange_r32i_return_value
-dEQP-GLES31.functional.image_load_store.cube.atomic#comp_swap_r32i_result
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#coherent_r32f
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#volatile_r32f
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#coherent_r32ui
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#volatile_r32ui
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#coherent_r32i
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#volatile_r32i
-dEQP-GLES31.functional.image_load_store.cube.qualifiers#restrict
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32f_rgba32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32f_rgba32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16f_rgba16ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16f_rgba16i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_rgba8
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32f_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32ui_rgba32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32ui_rgba32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16ui_rgba16f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16ui_rgba16i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_rgba8
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_rgba8
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32i_rgba32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba32i_rgba32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16i_rgba16f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba16i_rgba16ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_rgba8
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_rgba8
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#r32i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_r32f
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_rgba8ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_r32ui
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_rgba8i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_r32i
-dEQP-GLES31.functional.image_load_store.cube.format_reinterpret#rgba8_snorm_rgba8
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_32x32
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_12x12
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_1x1
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_7x7
-dEQP-GLES31.functional.image_load_store.cube.image_size#writeonly_32x32
-dEQP-GLES31.functional.image_load_store.cube.image_size#writeonly_12x12
-dEQP-GLES31.functional.image_load_store.cube.image_size#writeonly_1x1
-dEQP-GLES31.functional.image_load_store.cube.image_size#writeonly_7x7
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_writeonly_32x32
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_writeonly_12x12
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_writeonly_1x1
-dEQP-GLES31.functional.image_load_store.cube.image_size#readonly_writeonly_7x7
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32f
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16f
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#r32f
-dEQP-GLES31.functional.image_load_store.3d.store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32ui
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16ui
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#r32ui
-dEQP-GLES31.functional.image_load_store.3d.store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32i
-dEQP-GLES31.functional.image_load_store.3d.store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16i
-dEQP-GLES31.functional.image_load_store.3d.store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8i
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#r32i
-dEQP-GLES31.functional.image_load_store.3d.store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32f
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16f
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32f
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32ui
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16ui
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32ui
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32i
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16i
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8i
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32i
-dEQP-GLES31.functional.image_load_store.3d.load_store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.load_store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32f_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32f_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#add_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#add_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#min_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#min_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#max_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#max_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#and_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#and_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#or_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#or_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#xor_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#xor_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#comp_swap_r32ui_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#add_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#add_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#min_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#min_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#max_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#max_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#and_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#and_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#or_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#or_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#xor_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#xor_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.atomic#exchange_r32i_return_value
-dEQP-GLES31.functional.image_load_store.3d.atomic#comp_swap_r32i_result
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#coherent_r32f
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#volatile_r32f
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#coherent_r32ui
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#volatile_r32ui
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#coherent_r32i
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#volatile_r32i
-dEQP-GLES31.functional.image_load_store.3d.qualifiers#restrict
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32f_rgba32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32f_rgba32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16f_rgba16ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16f_rgba16i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_rgba8
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32f_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32ui_rgba32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32ui_rgba32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16ui_rgba16f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16ui_rgba16i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_rgba8
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_rgba8
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32i_rgba32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba32i_rgba32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16i_rgba16f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba16i_rgba16ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_rgba8
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_rgba8
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#r32i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_r32f
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_rgba8ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_r32ui
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_rgba8i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_r32i
-dEQP-GLES31.functional.image_load_store.3d.format_reinterpret#rgba8_snorm_rgba8
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_32x32x32
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_12x34x56
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_1x1x1
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_7x1x1
-dEQP-GLES31.functional.image_load_store.3d.image_size#writeonly_32x32x32
-dEQP-GLES31.functional.image_load_store.3d.image_size#writeonly_12x34x56
-dEQP-GLES31.functional.image_load_store.3d.image_size#writeonly_1x1x1
-dEQP-GLES31.functional.image_load_store.3d.image_size#writeonly_7x1x1
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_writeonly_32x32x32
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_writeonly_12x34x56
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_writeonly_1x1x1
-dEQP-GLES31.functional.image_load_store.3d.image_size#readonly_writeonly_7x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32f
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16f
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32f
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32ui
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16ui
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32i
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16i
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32i
-dEQP-GLES31.functional.image_load_store.2d_array.store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32f
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16f
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32f
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32f_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32ui
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16ui
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32ui_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32i
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba32i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16i
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba16i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32i
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#r32i_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.load_store#rgba8_snorm_single_layer
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32f_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32f_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#add_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#add_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#min_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#min_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#max_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#max_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#and_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#and_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#or_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#or_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#xor_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#xor_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#comp_swap_r32ui_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#add_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#add_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#min_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#min_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#max_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#max_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#and_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#and_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#or_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#or_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#xor_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#xor_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#exchange_r32i_return_value
-dEQP-GLES31.functional.image_load_store.2d_array.atomic#comp_swap_r32i_result
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#coherent_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#volatile_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#coherent_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#volatile_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#coherent_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#volatile_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.qualifiers#restrict
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32f_rgba32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32f_rgba32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16f_rgba16ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16f_rgba16i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32f_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32ui_rgba32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32ui_rgba32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16ui_rgba16f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16ui_rgba16i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32i_rgba32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba32i_rgba32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16i_rgba16f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba16i_rgba16ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#r32i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_r32f
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_rgba8ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_r32ui
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_rgba8i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_r32i
-dEQP-GLES31.functional.image_load_store.2d_array.format_reinterpret#rgba8_snorm_rgba8
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_32x32x32
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_12x34x56
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_1x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_7x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#writeonly_32x32x32
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#writeonly_12x34x56
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#writeonly_1x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#writeonly_7x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_writeonly_32x32x32
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_writeonly_12x34x56
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_writeonly_1x1x1
-dEQP-GLES31.functional.image_load_store.2d_array.image_size#readonly_writeonly_7x1x1
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba32f
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba16f
-dEQP-GLES31.functional.image_load_store.buffer.store#r32f
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba32ui
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba16ui
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.store#r32ui
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba32i
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba16i
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.store#r32i
-dEQP-GLES31.functional.image_load_store.buffer.store#rgba8
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba32f
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba16f
-dEQP-GLES31.functional.image_load_store.buffer.load_store#r32f
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba32ui
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba16ui
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.load_store#r32ui
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba32i
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba16i
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.load_store#r32i
-dEQP-GLES31.functional.image_load_store.buffer.load_store#rgba8
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32f_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32f_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#add_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#add_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#min_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#min_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#max_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#max_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#and_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#and_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#or_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#or_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#xor_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#xor_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32ui_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#comp_swap_r32ui_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#add_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#add_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#min_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#min_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#max_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#max_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#and_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#and_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#or_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#or_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#xor_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#xor_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.atomic#exchange_r32i_return_value
-dEQP-GLES31.functional.image_load_store.buffer.atomic#comp_swap_r32i_result
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#coherent_r32f
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#volatile_r32f
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#coherent_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#volatile_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#coherent_r32i
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#volatile_r32i
-dEQP-GLES31.functional.image_load_store.buffer.qualifiers#restrict
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32f_rgba32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32f_rgba32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16f_rgba16ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16f_rgba16i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_r32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_rgba8
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32f_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32ui_rgba32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32ui_rgba32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16ui_rgba16f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16ui_rgba16i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_r32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_r32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_rgba8
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_r32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_r32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_rgba8
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32ui_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32i_rgba32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba32i_rgba32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16i_rgba16f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba16i_rgba16ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_r32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_r32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_rgba8
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_r32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_rgba8
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#r32i_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_r32f
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_rgba8ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_r32ui
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_rgba8i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_r32i
-dEQP-GLES31.functional.image_load_store.buffer.format_reinterpret#rgba8_rgba8_snorm
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_32
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_12
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_1
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_7
-dEQP-GLES31.functional.image_load_store.buffer.image_size#writeonly_32
-dEQP-GLES31.functional.image_load_store.buffer.image_size#writeonly_12
-dEQP-GLES31.functional.image_load_store.buffer.image_size#writeonly_1
-dEQP-GLES31.functional.image_load_store.buffer.image_size#writeonly_7
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_writeonly_32
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_writeonly_12
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_writeonly_1
-dEQP-GLES31.functional.image_load_store.buffer.image_size#readonly_writeonly_7
-dEQP-GLES31.functional.image_load_store.early_fragment_tests#no_early_fragment_tests_depth
-dEQP-GLES31.functional.image_load_store.early_fragment_tests#no_early_fragment_tests_stencil
-dEQP-GLES31.functional.image_load_store.early_fragment_tests#early_fragment_tests_depth
-dEQP-GLES31.functional.image_load_store.early_fragment_tests#early_fragment_tests_stencil
-dEQP-GLES31.functional.atomic_counter.get#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.dec_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.dec_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_dec_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.inc_dec_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_1_call_5000_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#1_counter_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#4_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#4_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#4_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#4_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#4_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#8_counters_1_call_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#8_counters_5_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#8_counters_100_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.get_inc_dec_branch#8_counters_100_calls_10_threads
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.get_inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.get_inc#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.get_inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.get_inc#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.inc_dec#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reverse_offset.inc_dec#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.get_inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.get_inc#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.get_inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.get_inc#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.inc_dec#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.first_offset_set.inc_dec#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.get_inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.get_inc#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.get_inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.get_inc#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.inc_dec#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.default_offset_set.inc_dec#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.get_inc#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.get_inc#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.get_inc#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.get_inc#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.inc_dec#8_counters_1_call_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.inc_dec#8_counters_1_call_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.inc_dec#8_counters_5_calls_1_thread
-dEQP-GLES31.functional.atomic_counter.layout.reset_default_offset.inc_dec#8_counters_5_calls_1000_threads
-dEQP-GLES31.functional.atomic_counter.layout.invalid#invalid_binding
-dEQP-GLES31.functional.atomic_counter.layout.invalid#invalid_default_binding
-dEQP-GLES31.functional.atomic_counter.layout.invalid#invalid_offset_align
-dEQP-GLES31.functional.atomic_counter.layout.invalid#invalid_offset_overlap
-dEQP-GLES31.functional.atomic_counter.layout.invalid#invalid_default_offset
-dEQP-GLES31.functional.stencil_texturing.format#depth32f_stencil8_2d
-dEQP-GLES31.functional.stencil_texturing.format#depth32f_stencil8_2d_array
-dEQP-GLES31.functional.stencil_texturing.format#depth32f_stencil8_cube
-dEQP-GLES31.functional.stencil_texturing.format#depth24_stencil8_2d
-dEQP-GLES31.functional.stencil_texturing.format#depth24_stencil8_2d_array
-dEQP-GLES31.functional.stencil_texturing.format#depth24_stencil8_cube
-dEQP-GLES31.functional.stencil_texturing.format#stencil_index8_2d
-dEQP-GLES31.functional.stencil_texturing.format#stencil_index8_2d_array
-dEQP-GLES31.functional.stencil_texturing.format#stencil_index8_cube
-dEQP-GLES31.functional.stencil_texturing.render#depth32f_stencil8_clear
-dEQP-GLES31.functional.stencil_texturing.render#depth32f_stencil8_draw
-dEQP-GLES31.functional.stencil_texturing.render#depth24_stencil8_clear
-dEQP-GLES31.functional.stencil_texturing.render#depth24_stencil8_draw
-dEQP-GLES31.functional.stencil_texturing.misc#compare_mode_effect
-dEQP-GLES31.functional.stencil_texturing.misc#base_level
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba16f_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#r11f_g11f_b10f_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb9_e5_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba8_snorm_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb565_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgba4_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb5_a1_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#srgb8_alpha8_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.formats#rgb10_a2_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#8x8x6_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#64x64x12_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#128x128x12_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#7x7x12_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_nearest_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_linear_mipmap_nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_nearest_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.sizes#63x63x18_linear_mipmap_linear
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_nearest_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_nearest_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#nearest_mipmap_linear_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_nearest_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_clamp_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_clamp_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_clamp_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_repeat_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_repeat_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_repeat_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_mirror_clamp
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_mirror_repeat
-dEQP-GLES31.functional.texture.filtering.cube_array.combinations#linear_mipmap_linear_linear_mirror_mirror
-dEQP-GLES31.functional.texture.filtering.cube_array.no_edges_visible#nearest
-dEQP-GLES31.functional.texture.filtering.cube_array.no_edges_visible#linear
-dEQP-GLES31.functional.texture.format.unsized#alpha_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#alpha_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#luminance_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#luminance_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#luminance_alpha_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#luminance_alpha_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#rgb_unsigned_short_5_6_5_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#rgb_unsigned_byte_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#rgb_unsigned_byte_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_short_4_4_4_4_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_short_5_5_5_1_cube_array_npot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_byte_cube_array_pot
-dEQP-GLES31.functional.texture.format.unsized#rgba_unsigned_byte_cube_array_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba32ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba16ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#srgb8_alpha8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#srgb8_alpha8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb10_a2_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb10_a2_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb10_a2ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb10_a2ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba4_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba4_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb5_a1_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb5_a1_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8_snorm_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgba8_snorm_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb565_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb565_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r11f_g11f_b10f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r11f_g11f_b10f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb32ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb16ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8_snorm_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8_snorm_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb8ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#srgb8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#srgb8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb9_e5_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rgb9_e5_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg32ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg16ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8_snorm_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#rg8_snorm_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r32ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r16ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8i_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8i_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8ui_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8ui_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8_snorm_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#r8_snorm_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component32f_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component32f_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component24_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component24_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component16_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth_component16_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth32f_stencil8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth32f_stencil8_npot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth24_stencil8_pot
-dEQP-GLES31.functional.texture.format.sized.cube_array#depth24_stencil8_npot
-dEQP-GLES31.functional.texture.format.buffer#r8_pot
-dEQP-GLES31.functional.texture.format.buffer#r8_npot
-dEQP-GLES31.functional.texture.format.buffer#r16f_pot
-dEQP-GLES31.functional.texture.format.buffer#r16f_npot
-dEQP-GLES31.functional.texture.format.buffer#r32f_pot
-dEQP-GLES31.functional.texture.format.buffer#r32f_npot
-dEQP-GLES31.functional.texture.format.buffer#r8i_pot
-dEQP-GLES31.functional.texture.format.buffer#r8i_npot
-dEQP-GLES31.functional.texture.format.buffer#r16i_pot
-dEQP-GLES31.functional.texture.format.buffer#r16i_npot
-dEQP-GLES31.functional.texture.format.buffer#r32i_pot
-dEQP-GLES31.functional.texture.format.buffer#r32i_npot
-dEQP-GLES31.functional.texture.format.buffer#r8ui_pot
-dEQP-GLES31.functional.texture.format.buffer#r8ui_npot
-dEQP-GLES31.functional.texture.format.buffer#r16ui_pot
-dEQP-GLES31.functional.texture.format.buffer#r16ui_npot
-dEQP-GLES31.functional.texture.format.buffer#r32ui_pot
-dEQP-GLES31.functional.texture.format.buffer#r32ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rg8_pot
-dEQP-GLES31.functional.texture.format.buffer#rg8_npot
-dEQP-GLES31.functional.texture.format.buffer#rg16f_pot
-dEQP-GLES31.functional.texture.format.buffer#rg16f_npot
-dEQP-GLES31.functional.texture.format.buffer#rg32f_pot
-dEQP-GLES31.functional.texture.format.buffer#rg32f_npot
-dEQP-GLES31.functional.texture.format.buffer#rg8i_pot
-dEQP-GLES31.functional.texture.format.buffer#rg8i_npot
-dEQP-GLES31.functional.texture.format.buffer#rg16i_pot
-dEQP-GLES31.functional.texture.format.buffer#rg16i_npot
-dEQP-GLES31.functional.texture.format.buffer#rg32i_pot
-dEQP-GLES31.functional.texture.format.buffer#rg32i_npot
-dEQP-GLES31.functional.texture.format.buffer#rg8ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rg8ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rg16ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rg16ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rg32ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rg32ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba8_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba8_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba16f_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba16f_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba32f_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba32f_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba8i_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba8i_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba16i_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba16i_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba32i_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba32i_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba8ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba8ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba16ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba16ui_npot
-dEQP-GLES31.functional.texture.format.buffer#rgba32ui_pot
-dEQP-GLES31.functional.texture.format.buffer#rgba32ui_npot
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba32f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba32i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba32ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba16f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba16i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba16ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba8i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba8ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#srgb8_alpha8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb10_a2_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb10_a2ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba4_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb5_a1_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgba8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb565_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r11f_g11f_b10f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb32f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb32i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb32ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb16f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb16i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb16ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb8i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb8ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#srgb8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rgb9_e5_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg32f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg32i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg32ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg16f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg16i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg16ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg8i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg8ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#rg8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r32f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r32i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r32ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r16f_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r16i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r16ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r8_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r8i_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r8ui_cube_array
-dEQP-GLES31.functional.texture.specification.basic_teximage3d#r8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba32i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba32ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba16f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba16i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba16ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba8i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba8ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#srgb8_alpha8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb10_a2_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb10_a2ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba4_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb5_a1_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgba8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb565_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r11f_g11f_b10f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb32i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb32ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb16f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb16i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb16ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#srgb8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb9_e5_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg32i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg32ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg16f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg16i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg16ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg8i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg8ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rg8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r32i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r32ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r16f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r16i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r16ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r8i_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r8ui_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#r8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_offset_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_alignment_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_image_height_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_row_length_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_skip_images_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_skip_rows_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_pbo#rgb8_skip_pixels_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth#depth_component32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth#depth_component24_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth#depth_component16_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth#depth32f_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth#depth24_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth_pbo#depth_component32f_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth_pbo#depth_component24_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth_pbo#depth_component16_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth_pbo#depth32f_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.teximage3d_depth_pbo#depth24_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba32f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba32i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba16f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba16i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba8i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#srgb8_alpha8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb10_a2_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb10_a2ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba4_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb5_a1_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgba8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb565_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r11f_g11f_b10f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb32f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb32i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb16f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb16i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#srgb8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb9_e5_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg32f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg32i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg16f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg16i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg8i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rg8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r32f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r32i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r16f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r16i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r8i_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#r8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_offset_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_image_height_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_row_length_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_images_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_rows_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_pbo#rgb8_skip_pixels_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_depth#depth_component32f_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_depth#depth_component24_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_depth#depth_component16_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_depth#depth32f_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.texsubimage3d_depth#depth24_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba32f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba32i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba16f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba16i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba8i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#srgb8_alpha8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb10_a2_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb10_a2ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba4_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb5_a1_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgba8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb565_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r11f_g11f_b10f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb32f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb32i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb16f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb16i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb8i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#srgb8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rgb9_e5_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg32f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg32i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg16f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg16i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg8i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#rg8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r32f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r32i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r32ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r16f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r16i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r16ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r8i_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r8ui_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#r8_snorm_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#depth_component32f_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#depth_component24_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#depth_component16_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#depth32f_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.format#depth24_stencil8_cube_array
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_1x1x6_1_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_2x2x6_2_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_32x32x6_3_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_64x64x6_4_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_57x57x12_1_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_57x57x12_2_levels
-dEQP-GLES31.functional.texture.specification.texstorage3d.size#cube_array_57x57x12_6_levels
-dEQP-GLES31.functional.texture.multisample.samples_1#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_1#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_2#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_2#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_3#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_3#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_4#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_4#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_8#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_8#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_10#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_10#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_12#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_12#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_13#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_13#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_16#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_16#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_position
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_mask_only
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_mask_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_mask_and_sample_coverage
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_mask_and_sample_coverage_and_alpha_to_coverage
-dEQP-GLES31.functional.texture.multisample.samples_64#sample_mask_non_effective_bits
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_color_2d
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_color_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_int_2d
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_int_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_uint_2d
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_uint_2d_array
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_depth_2d
-dEQP-GLES31.functional.texture.multisample.samples_64#use_texture_depth_2d_array
-dEQP-GLES31.functional.texture.multisample.negative#fbo_attach_different_sample_count_tex_tex
-dEQP-GLES31.functional.texture.multisample.negative#fbo_attach_different_sample_count_tex_rbo
-dEQP-GLES31.functional.texture.multisample.negative#fbo_attach_different_fixed_state_tex_tex
-dEQP-GLES31.functional.texture.multisample.negative#fbo_attach_different_fixed_state_tex_rbo
-dEQP-GLES31.functional.texture.multisample.negative#fbo_attach_non_zero_level
-dEQP-GLES31.functional.texture.multisample.negative#texture_min_filter
-dEQP-GLES31.functional.texture.multisample.negative#texture_mag_filter
-dEQP-GLES31.functional.texture.multisample.negative#texture_wrap_s
-dEQP-GLES31.functional.texture.multisample.negative#texture_wrap_t
-dEQP-GLES31.functional.texture.multisample.negative#texture_wrap_r
-dEQP-GLES31.functional.texture.multisample.negative#texture_min_lod
-dEQP-GLES31.functional.texture.multisample.negative#texture_max_lod
-dEQP-GLES31.functional.texture.multisample.negative#texture_compare_mode
-dEQP-GLES31.functional.texture.multisample.negative#texture_compare_func
-dEQP-GLES31.functional.texture.multisample.negative#texture_base_level
-dEQP-GLES31.functional.texture.multisample.negative#texture_high_sample_count
-dEQP-GLES31.functional.texture.multisample.negative#texture_zero_sample_count
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.no_corners.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.no_corners.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.no_corners.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.no_corners.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.min_required_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offset_dynamic.implementation_offset.2d_array.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.min_required_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8ui.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_pot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_pot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_pot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_npot#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_npot#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.size_npot#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle#green_blue_alpha_zero
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle#blue_alpha_zero_one
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle#alpha_zero_one_red
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle#zero_one_red_green
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.texture_swizzle#one_red_green_blue
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.filter_mode#min_nearest_mipmap_nearest_mag_nearest
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.rgba8i.base_level#level_2
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_pot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_less#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_less#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_less#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_greater#clamp_to_edge_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_greater#repeat_mirrored_repeat
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.size_npot.compare_greater#mirrored_repeat_clamp_to_edge
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.filter_mode#min_nearest_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_nearest_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.filter_mode#min_linear_mipmap_linear_mag_linear
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.base_level#level_1
-dEQP-GLES31.functional.texture.gather.offsets.implementation_offset.2d_array.depth32f.base_level#level_2
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_vertex_texture_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_index_array_as_vertex_texture_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.bufferdata#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.buffersubdata#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_write#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#buffer_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#buffer_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#buffer_size_65536
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#buffer_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#buffer_size_131071
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#range_size_512
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#range_size_513
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#range_size_65537
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#range_size_98304
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#offset_1_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify.mapbuffer_readwrite#offset_7_alignments
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.bufferdata#as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.buffersubdata#as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_write#as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_index_array
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_index_array_as_vertex_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_index_array_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.modify_render.mapbuffer_readwrite#as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_texture_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_vertex_texture_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_index_array_as_vertex_texture_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#bufferdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#buffersubdata
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#mapbuffer_write
-dEQP-GLES31.functional.texture.texture_buffer.render_modify.as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture#mapbuffer_readwrite
-dEQP-GLES31.functional.state_query.integer#max_color_texture_samples_getboolean
-dEQP-GLES31.functional.state_query.integer#max_color_texture_samples_getinteger
-dEQP-GLES31.functional.state_query.integer#max_color_texture_samples_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_color_texture_samples_getfloat
-dEQP-GLES31.functional.state_query.integer#max_depth_texture_samples_getboolean
-dEQP-GLES31.functional.state_query.integer#max_depth_texture_samples_getinteger
-dEQP-GLES31.functional.state_query.integer#max_depth_texture_samples_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_depth_texture_samples_getfloat
-dEQP-GLES31.functional.state_query.integer#max_integer_samples_getboolean
-dEQP-GLES31.functional.state_query.integer#max_integer_samples_getinteger
-dEQP-GLES31.functional.state_query.integer#max_integer_samples_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_integer_samples_getfloat
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_getboolean
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_getinteger
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_getinteger64
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_getfloat
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_array_getboolean
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_array_getinteger
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_array_getinteger64
-dEQP-GLES31.functional.state_query.integer#texture_binding_2d_multisample_array_getfloat
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_relative_offset_getboolean
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_relative_offset_getinteger
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_relative_offset_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_relative_offset_getfloat
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_bindings_getboolean
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_bindings_getinteger
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_bindings_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_bindings_getfloat
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_stride_getboolean
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_stride_getinteger
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_stride_getinteger64
-dEQP-GLES31.functional.state_query.integer#max_vertex_attrib_stride_getfloat
-dEQP-GLES31.functional.state_query.integer#shader_storage_buffer_offset_alignment_getboolean
-dEQP-GLES31.functional.state_query.integer#shader_storage_buffer_offset_alignment_getinteger
-dEQP-GLES31.functional.state_query.integer#shader_storage_buffer_offset_alignment_getinteger64
-dEQP-GLES31.functional.state_query.integer#shader_storage_buffer_offset_alignment_getfloat
-dEQP-GLES31.functional.state_query.indexed#sample_mask_value_getintegeri_v
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#samples_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#samples_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#fixed_sample_locations_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#fixed_sample_locations_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#width_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#width_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#height_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#height_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#red_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#red_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#green_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#green_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#blue_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#blue_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#alpha_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#alpha_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#depth_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#depth_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#stencil_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#stencil_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#shared_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#shared_size_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#red_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#red_type_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#green_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#green_type_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#blue_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#blue_type_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#alpha_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#alpha_type_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#depth_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#depth_type_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#compressed_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#compressed_float
-dEQP-GLES31.functional.state_query.shader#sampler_type
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgb8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgb565_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba4_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgb5_a1_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgb10_a2_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgb10_a2ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#srgb8_alpha8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#r32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rg32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#rgba32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#depth_component16_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#depth_component24_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#depth_component32f_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#depth24_stencil8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#depth32f_stencil8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample#stencil_index8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgb8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgb565_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba4_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgb5_a1_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgb10_a2_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgb10_a2ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#srgb8_alpha8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#r32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rg32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba8i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba8ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba16i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba16ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba32i_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#rgba32ui_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#depth_component16_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#depth_component24_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#depth_component32f_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#depth24_stencil8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#depth32f_stencil8_samples
-dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample_array#stencil_index8_samples
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.vertex_attrib#vertex_attrib_binding
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.vertex_attrib#vertex_attrib_relative_offset
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_divisor_getintegeri
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_divisor_getintegeri64
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_divisor_mixed
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_stride_mixed
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_buffer_mixed
-dEQP-GLES31.functional.state_query.multisample_interpolation.min_fragment_interpolation_offset#get_boolean
-dEQP-GLES31.functional.state_query.multisample_interpolation.min_fragment_interpolation_offset#get_integer
-dEQP-GLES31.functional.state_query.multisample_interpolation.min_fragment_interpolation_offset#get_float
-dEQP-GLES31.functional.state_query.multisample_interpolation.min_fragment_interpolation_offset#get_integer64
-dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset#get_boolean
-dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset#get_integer
-dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset#get_float
-dEQP-GLES31.functional.state_query.multisample_interpolation.max_fragment_interpolation_offset#get_integer64
-dEQP-GLES31.functional.state_query.multisample_interpolation.fragment_interpolation_offset_bits#get_boolean
-dEQP-GLES31.functional.state_query.multisample_interpolation.fragment_interpolation_offset_bits#get_integer
-dEQP-GLES31.functional.state_query.multisample_interpolation.fragment_interpolation_offset_bits#get_float
-dEQP-GLES31.functional.state_query.multisample_interpolation.fragment_interpolation_offset_bits#get_integer64
-dEQP-GLES31.functional.multisample.default_framebuffer#proportionality_sample_mask
-dEQP-GLES31.functional.multisample.default_framebuffer#constancy_sample_mask
-dEQP-GLES31.functional.multisample.default_framebuffer#constancy_alpha_to_coverage_sample_mask
-dEQP-GLES31.functional.multisample.default_framebuffer#constancy_sample_coverage_sample_mask
-dEQP-GLES31.functional.multisample.default_framebuffer#constancy_alpha_to_coverage_sample_coverage_sample_mask
-dEQP-GLES31.functional.multisample.default_framebuffer#sample_mask_non_effective_bits
-dEQP-GLES31.functional.synchronization.in_invocation#image_write_read
-dEQP-GLES31.functional.synchronization.in_invocation#image_read_write
-dEQP-GLES31.functional.synchronization.in_invocation#image_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#image_alias_write
-dEQP-GLES31.functional.synchronization.in_invocation#image_alias_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#image_atomic_write_read
-dEQP-GLES31.functional.synchronization.in_invocation#image_atomic_read_write
-dEQP-GLES31.functional.synchronization.in_invocation#image_atomic_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#image_atomic_alias_write
-dEQP-GLES31.functional.synchronization.in_invocation#image_atomic_alias_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_write_read
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_read_write
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_alias_write
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_atomic_write_read
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_atomic_read_write
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_atomic_overwrite
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_atomic_alias_write
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_atomic_alias_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#image_write_read
-dEQP-GLES31.functional.synchronization.inter_invocation#image_read_write
-dEQP-GLES31.functional.synchronization.inter_invocation#image_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#image_alias_write
-dEQP-GLES31.functional.synchronization.inter_invocation#image_alias_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#image_atomic_write_read
-dEQP-GLES31.functional.synchronization.inter_invocation#image_atomic_read_write
-dEQP-GLES31.functional.synchronization.inter_invocation#image_atomic_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#image_atomic_alias_write
-dEQP-GLES31.functional.synchronization.inter_invocation#image_atomic_alias_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_write_read
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_read_write
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_alias_write
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_alias_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_atomic_write_read
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_atomic_read_write
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_atomic_overwrite
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_atomic_alias_write
-dEQP-GLES31.functional.synchronization.inter_invocation#ssbo_atomic_alias_overwrite
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_read_write
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_overwrite
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_multiple_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_multiple_interleaved_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_multiple_unrelated_write_read_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_multiple_unrelated_write_read_non_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_read_write
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_overwrite
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_multiple_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_multiple_interleaved_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_multiple_unrelated_write_read_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#image_atomic_multiple_unrelated_write_read_non_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_read_write
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_overwrite
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_multiple_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_multiple_interleaved_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_multiple_unrelated_write_read_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_multiple_unrelated_write_read_non_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_read_write
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_overwrite
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_multiple_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_multiple_interleaved_write_read
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_multiple_unrelated_write_read_ordered
-dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier#ssbo_atomic_multiple_unrelated_write_read_non_ordered
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_2_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_5_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_100_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_2_calls_4k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_5_calls_4k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_100_calls_4k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_2_calls_32k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_5_calls_32k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_dispatch_100_calls_32k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_2_calls_8x8_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_5_calls_8x8_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_100_calls_8x8_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_2_calls_32x32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_5_calls_32x32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_100_calls_32x32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_2_calls_128x128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_5_calls_128x128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#image_atomic_dispatch_100_calls_128x128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_2_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_5_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_100_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_2_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_5_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_100_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_2_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_5_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#atomic_counter_dispatch_100_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_2_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_5_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_100_calls_32_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_2_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_5_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_100_calls_128_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_2_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_5_calls_1k_invocations
-dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier#ssbo_atomic_counter_mixed_dispatch_100_calls_1k_invocations
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_input_components
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_output_components
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_image_uniforms
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_texture_image_units
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_output_vertices
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_total_output_components
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_uniform_components
-dEQP-GLES31.functional.geometry_shading.query#geometry_linked_vertices_out
-dEQP-GLES31.functional.geometry_shading.query#geometry_linked_input_type
-dEQP-GLES31.functional.geometry_shading.query#geometry_linked_output_type
-dEQP-GLES31.functional.geometry_shading.query#geometry_shader_invocations
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_shader_invocations
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_uniform_blocks
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_shader_storage_blocks
-dEQP-GLES31.functional.geometry_shading.query#layer_provoking_vertex
-dEQP-GLES31.functional.geometry_shading.query#primitives_generated_no_geometry
-dEQP-GLES31.functional.geometry_shading.query#primitives_generated_no_amplification
-dEQP-GLES31.functional.geometry_shading.query#primitives_generated_amplification
-dEQP-GLES31.functional.geometry_shading.query#primitives_generated_partial_primitives
-dEQP-GLES31.functional.geometry_shading.query#primitives_generated_instanced
-dEQP-GLES31.functional.geometry_shading.query#max_framebuffer_layers
-dEQP-GLES31.functional.geometry_shading.query#framebuffer_default_layers
-dEQP-GLES31.functional.geometry_shading.query#framebuffer_attachment_layered
-dEQP-GLES31.functional.geometry_shading.query#framebuffer_incomplete_layer_targets
-dEQP-GLES31.functional.geometry_shading.query#referenced_by_geometry_shader
-dEQP-GLES31.functional.geometry_shading.basic#output_10
-dEQP-GLES31.functional.geometry_shading.basic#output_128
-dEQP-GLES31.functional.geometry_shading.basic#output_256
-dEQP-GLES31.functional.geometry_shading.basic#output_max
-dEQP-GLES31.functional.geometry_shading.basic#output_10_and_100
-dEQP-GLES31.functional.geometry_shading.basic#output_100_and_10
-dEQP-GLES31.functional.geometry_shading.basic#output_0_and_128
-dEQP-GLES31.functional.geometry_shading.basic#output_128_and_0
-dEQP-GLES31.functional.geometry_shading.basic#output_vary_by_attribute
-dEQP-GLES31.functional.geometry_shading.basic#output_vary_by_uniform
-dEQP-GLES31.functional.geometry_shading.basic#output_vary_by_texture
-dEQP-GLES31.functional.geometry_shading.basic#point_size
-dEQP-GLES31.functional.geometry_shading.basic#primitive_id_in
-dEQP-GLES31.functional.geometry_shading.basic#primitive_id_in_restarted
-dEQP-GLES31.functional.geometry_shading.basic#primitive_id
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#points
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#lines
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#line_loop
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#line_strip
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#triangles
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#triangle_strip
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#triangle_fan
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#lines_adjacency
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#line_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.input.basic_primitive#triangles_adjacency
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_0
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_1
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_2
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_3
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_4
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_5
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_6
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_7
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_8
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_9
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_10
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_11
-dEQP-GLES31.functional.geometry_shading.input.triangle_strip_adjacency#vertex_count_12
-dEQP-GLES31.functional.geometry_shading.conversion#triangles_to_points
-dEQP-GLES31.functional.geometry_shading.conversion#lines_to_points
-dEQP-GLES31.functional.geometry_shading.conversion#points_to_lines
-dEQP-GLES31.functional.geometry_shading.conversion#triangles_to_lines
-dEQP-GLES31.functional.geometry_shading.conversion#points_to_triangles
-dEQP-GLES31.functional.geometry_shading.conversion#lines_to_triangles
-dEQP-GLES31.functional.geometry_shading.emit#points_emit_1_end_1
-dEQP-GLES31.functional.geometry_shading.emit#points_emit_1_end_2
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_1_end_1
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_2_end_1
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_1_end_2
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_2_end_2
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_2_end_2_emit_2_end_0
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_1_end_1
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_2_end_1
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_3_end_1
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_1_end_2
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_2_end_2
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_3_end_2
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_3_end_2_emit_3_end_0
-dEQP-GLES31.functional.geometry_shading.varying#vertex_no_op_geometry_out_1
-dEQP-GLES31.functional.geometry_shading.varying#vertex_out_0_geometry_out_1
-dEQP-GLES31.functional.geometry_shading.varying#vertex_out_0_geometry_out_2
-dEQP-GLES31.functional.geometry_shading.varying#vertex_out_1_geometry_out_0
-dEQP-GLES31.functional.geometry_shading.varying#vertex_out_1_geometry_out_2
-dEQP-GLES31.functional.geometry_shading.layered#render_with_default_layer_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#render_with_default_layer_3d
-dEQP-GLES31.functional.geometry_shading.layered#render_with_default_layer_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#render_with_default_layer_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.layered#render_to_one_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#render_to_one_3d
-dEQP-GLES31.functional.geometry_shading.layered#render_to_one_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#render_to_one_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.layered#render_to_all_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#render_to_all_3d
-dEQP-GLES31.functional.geometry_shading.layered#render_to_all_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#render_to_all_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.layered#render_different_to_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#render_different_to_3d
-dEQP-GLES31.functional.geometry_shading.layered#render_different_to_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#render_different_to_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.layered#fragment_layer_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#fragment_layer_3d
-dEQP-GLES31.functional.geometry_shading.layered#fragment_layer_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#fragment_layer_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.layered#layer_provoking_vertex_cubemap
-dEQP-GLES31.functional.geometry_shading.layered#layer_provoking_vertex_3d
-dEQP-GLES31.functional.geometry_shading.layered#layer_provoking_vertex_2d_array
-dEQP-GLES31.functional.geometry_shading.layered#layer_provoking_vertex_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_1_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_2_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_8_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_32_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_max_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_output_different_2_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_output_different_8_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_output_different_32_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#geometry_output_different_max_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_per_layer_cubemap
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_per_layer_3d
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_per_layer_2d_array
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_per_layer_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.instanced#multiple_layers_per_invocation_cubemap
-dEQP-GLES31.functional.geometry_shading.instanced#multiple_layers_per_invocation_3d
-dEQP-GLES31.functional.geometry_shading.instanced#multiple_layers_per_invocation_2d_array
-dEQP-GLES31.functional.geometry_shading.instanced#multiple_layers_per_invocation_2d_multisample_array
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_output_vary_by_attribute
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_output_vary_by_uniform
-dEQP-GLES31.functional.geometry_shading.instanced#invocation_output_vary_by_texture
-dEQP-GLES31.functional.geometry_shading.instanced#draw_2_instances_geometry_2_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#draw_2_instances_geometry_8_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#draw_4_instances_geometry_2_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#draw_4_instances_geometry_8_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#draw_8_instances_geometry_2_invocations
-dEQP-GLES31.functional.geometry_shading.instanced#draw_8_instances_geometry_8_invocations
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_lines
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_line_loop
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_line_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_lines_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_line_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_triangles
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_triangle_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_triangle_fan
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_triangles_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_points_primitive_triangle_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_points
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_lines_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_line_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_triangles
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_triangle_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_triangle_fan
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_triangles_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_primitive_triangle_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_points
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_lines
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_line_loop
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_line_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_triangles
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_triangle_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_triangle_fan
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_triangles_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_lines_adjacency_primitive_triangle_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_points
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_lines
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_line_loop
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_line_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_lines_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_line_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_triangles_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_primitive_triangle_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_points
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_lines
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_line_loop
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_line_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_lines_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_line_strip_adjacency
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_triangles
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_triangle_strip
-dEQP-GLES31.functional.geometry_shading.negative#type_triangles_adjacency_primitive_triangle_fan
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_line_loop
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_line_strip
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_triangle_strip
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_triangle_fan
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_arrays
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_arrays_instanced
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_arrays_indirect
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_elements
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_elements_instanced
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_elements_indirect
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_arrays_overflow_single_buffer
-dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback#capture_vertex_draw_elements_overflow_single_buffer
-dEQP-GLES31.functional.sample_shading.state_query#sample_shading_is_enabled
-dEQP-GLES31.functional.sample_shading.state_query#sample_shading_get_boolean
-dEQP-GLES31.functional.sample_shading.state_query#sample_shading_get_integer
-dEQP-GLES31.functional.sample_shading.state_query#sample_shading_get_float
-dEQP-GLES31.functional.sample_shading.state_query#sample_shading_get_integer64
-dEQP-GLES31.functional.sample_shading.state_query#min_sample_shading_value_get_boolean
-dEQP-GLES31.functional.sample_shading.state_query#min_sample_shading_value_get_integer
-dEQP-GLES31.functional.sample_shading.state_query#min_sample_shading_value_get_float
-dEQP-GLES31.functional.sample_shading.state_query#min_sample_shading_value_get_integer64
-dEQP-GLES31.functional.sample_shading.state_query#min_sample_shading_value_clamping
-dEQP-GLES31.functional.sample_shading.min_sample_shading#default_framebuffer_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#default_framebuffer_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_2_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_2_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_4_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_4_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_8_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_8_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_2_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_2_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_4_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_4_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_8_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_8_discard
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#elements_1
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#elements_2
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#elements_2_share_elements
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#offset_elements_1
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#offset_elements_2
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#offset_elements_2_share_elements
-dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding#unaligned_offset_elements_1_aligned_elements
-dEQP-GLES31.functional.vertex_attribute_binding.usage.multiple_bindings#basic
-dEQP-GLES31.functional.vertex_attribute_binding.usage.multiple_bindings#zero_stride
-dEQP-GLES31.functional.vertex_attribute_binding.usage.multiple_bindings#instanced
-dEQP-GLES31.functional.vertex_attribute_binding.usage.multiple_bindings#aliasing_buffer_zero_stride
-dEQP-GLES31.functional.vertex_attribute_binding.usage.multiple_bindings#aliasing_buffer_instanced
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_attribs_basic
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_attribs_instanced_binding
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_attribs_instanced_attrib
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_api_change_buffer
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_api_change_buffer_offset
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_api_change_buffer_stride
-dEQP-GLES31.functional.vertex_attribute_binding.usage.mixed_usage#mixed_api_change_binding_point
-dEQP-GLES31.functional.vertex_attribute_binding.negative#default_vao_bind_vertex_buffer
-dEQP-GLES31.functional.vertex_attribute_binding.negative#default_vao_vertex_attrib_format
-dEQP-GLES31.functional.vertex_attribute_binding.negative#default_vao_vertex_attrib_i_format
-dEQP-GLES31.functional.vertex_attribute_binding.negative#default_vao_vertex_attrib_binding
-dEQP-GLES31.functional.vertex_attribute_binding.negative#default_vao_vertex_binding_divisor
-dEQP-GLES31.functional.vertex_attribute_binding.negative#bind_create_new_buffer
-dEQP-GLES31.functional.vertex_attribute_binding.negative#vertex_attrib_format_large_offset
-dEQP-GLES31.functional.vertex_attribute_binding.negative#vertex_attrib_binding_invalid_attr
-dEQP-GLES31.functional.vertex_attribute_binding.negative#vertex_attrib_binding_invalid_binding
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat2x4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat3x4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4x3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#mat4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec2_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec3_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic#samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#mat4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#mat4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_array_first_elem_without_brackets#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic#both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_nested_structs_arrays#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_nested_structs_arrays#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.get_uniform.multiple_nested_structs_arrays#both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat2x4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat3x4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x2_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4x3_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#mat4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bool_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bool_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bool_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec3_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic#samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_row_major_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_row_major_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#mat4_row_major_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bool_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bool_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bool_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic#both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_nested_structs_arrays#vertex
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_nested_structs_arrays#fragment
-dEQP-GLES31.functional.program_uniform.by_pointer.render.multiple_nested_structs_arrays#both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec2_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec3_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec2_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec3_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec2_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec3_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec2_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec3_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic#samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bool_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_float_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_int_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#bvec4_api_uint_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_array_first_elem_without_brackets#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_nested_structs_arrays#vertex
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_nested_structs_arrays#fragment
-dEQP-GLES31.functional.program_uniform.by_value.get_uniform.multiple_nested_structs_arrays#both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#float_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec2_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec3_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#int_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec2_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec3_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uint_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec2_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec3_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bool_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bool_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bool_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec2_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec2_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec2_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec3_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec3_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec3_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic#samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bool_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bool_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bool_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.basic_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.struct_in_array#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#float_vec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.nested_structs_arrays#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_nested_structs_arrays#vertex
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_nested_structs_arrays#fragment
-dEQP-GLES31.functional.program_uniform.by_value.render.multiple_nested_structs_arrays#both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#mat4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#mat4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#mat4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bool_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bool_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bool_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#bvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_full.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#float_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#float_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#float_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#vec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#vec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#vec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#mat4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#mat4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#mat4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#int_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#int_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#int_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#ivec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#ivec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#ivec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uint_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uint_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uint_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#uvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bool_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bool_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bool_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#bvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#sampler2D_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#sampler2D_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.basic_array#sampler2D_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#float_vec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.array_in_struct#sampler2D_samplerCube_both
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.multiple_basic_array#vertex
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.multiple_basic_array#fragment
-dEQP-GLES31.functional.program_uniform.basic_array_assign_partial.multiple_basic_array#both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#float_vec4_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#float_vec4_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#float_vec4_both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#mat4_mat2_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#mat4_mat2_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#mat4_mat2_both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#int_ivec4_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#int_ivec4_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#int_ivec4_both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#uint_uvec4_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#uint_uvec4_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#uint_uvec4_both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#bool_bvec4_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#bool_bvec4_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#bool_bvec4_both
-dEQP-GLES31.functional.program_uniform.unused_uniforms#sampler2D_samplerCube_vertex
-dEQP-GLES31.functional.program_uniform.unused_uniforms#sampler2D_samplerCube_fragment
-dEQP-GLES31.functional.program_uniform.unused_uniforms#sampler2D_samplerCube_both
-dEQP-GLES31.functional.blend_equation_advanced.basic#multiply
-dEQP-GLES31.functional.blend_equation_advanced.basic#screen
-dEQP-GLES31.functional.blend_equation_advanced.basic#overlay
-dEQP-GLES31.functional.blend_equation_advanced.basic#darken
-dEQP-GLES31.functional.blend_equation_advanced.basic#lighten
-dEQP-GLES31.functional.blend_equation_advanced.basic#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.basic#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.basic#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.basic#difference
-dEQP-GLES31.functional.blend_equation_advanced.basic#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.basic#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.basic#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.basic#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.basic#hsl_luminosity
-dEQP-GLES31.functional.blend_equation_advanced.srgb#multiply
-dEQP-GLES31.functional.blend_equation_advanced.srgb#screen
-dEQP-GLES31.functional.blend_equation_advanced.srgb#overlay
-dEQP-GLES31.functional.blend_equation_advanced.srgb#darken
-dEQP-GLES31.functional.blend_equation_advanced.srgb#lighten
-dEQP-GLES31.functional.blend_equation_advanced.srgb#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.srgb#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.srgb#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.srgb#difference
-dEQP-GLES31.functional.blend_equation_advanced.srgb#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.srgb#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.srgb#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.srgb#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.srgb#hsl_luminosity
-dEQP-GLES31.functional.blend_equation_advanced.msaa#multiply
-dEQP-GLES31.functional.blend_equation_advanced.msaa#screen
-dEQP-GLES31.functional.blend_equation_advanced.msaa#overlay
-dEQP-GLES31.functional.blend_equation_advanced.msaa#darken
-dEQP-GLES31.functional.blend_equation_advanced.msaa#lighten
-dEQP-GLES31.functional.blend_equation_advanced.msaa#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.msaa#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.msaa#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.msaa#difference
-dEQP-GLES31.functional.blend_equation_advanced.msaa#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.msaa#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.msaa#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.msaa#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.msaa#hsl_luminosity
-dEQP-GLES31.functional.blend_equation_advanced.barrier#multiply
-dEQP-GLES31.functional.blend_equation_advanced.barrier#screen
-dEQP-GLES31.functional.blend_equation_advanced.barrier#overlay
-dEQP-GLES31.functional.blend_equation_advanced.barrier#darken
-dEQP-GLES31.functional.blend_equation_advanced.barrier#lighten
-dEQP-GLES31.functional.blend_equation_advanced.barrier#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.barrier#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.barrier#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.barrier#difference
-dEQP-GLES31.functional.blend_equation_advanced.barrier#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.barrier#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.barrier#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.barrier#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.barrier#hsl_luminosity
-dEQP-GLES31.functional.blend_equation_advanced.coherent#multiply
-dEQP-GLES31.functional.blend_equation_advanced.coherent#screen
-dEQP-GLES31.functional.blend_equation_advanced.coherent#overlay
-dEQP-GLES31.functional.blend_equation_advanced.coherent#darken
-dEQP-GLES31.functional.blend_equation_advanced.coherent#lighten
-dEQP-GLES31.functional.blend_equation_advanced.coherent#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.coherent#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.coherent#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.coherent#difference
-dEQP-GLES31.functional.blend_equation_advanced.coherent#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.coherent#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.coherent#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.coherent#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.coherent#hsl_luminosity
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#multiply
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#screen
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#overlay
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#darken
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#lighten
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#colordodge
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#colorburn
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#hardlight
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#difference
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#exclusion
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#hsl_hue
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#hsl_saturation
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#hsl_color
-dEQP-GLES31.functional.blend_equation_advanced.coherent_msaa#hsl_luminosity
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_separate_programs
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_single_program
-dEQP-GLES31.functional.separate_shader.pipeline#different_constant_single_program_add_both
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_separate_programs
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_single_program
-dEQP-GLES31.functional.separate_shader.pipeline#different_uniform_single_program_add_both
-dEQP-GLES31.functional.separate_shader.pipeline#same_constant_separate_programs
-dEQP-GLES31.functional.separate_shader.pipeline#same_constant_separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.pipeline#same_constant_separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.pipeline#same_constant_separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.pipeline#same_uniform_separate_programs
-dEQP-GLES31.functional.separate_shader.pipeline#same_uniform_separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.pipeline#same_uniform_separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.pipeline#same_uniform_separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.program_uniform#separate_programs
-dEQP-GLES31.functional.separate_shader.program_uniform#separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.program_uniform#separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.program_uniform#separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.program_uniform#single_program
-dEQP-GLES31.functional.separate_shader.program_uniform#single_program_add_both
-dEQP-GLES31.functional.separate_shader.create_shader_program#separate_programs
-dEQP-GLES31.functional.separate_shader.create_shader_program#separate_programs_add_fragment
-dEQP-GLES31.functional.separate_shader.create_shader_program#separate_programs_add_vertex
-dEQP-GLES31.functional.separate_shader.create_shader_program#separate_programs_add_both
-dEQP-GLES31.functional.separate_shader.create_shader_program#single_program_add_both
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_smooth_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_smooth_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_flat_fragment_flat
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_centroid_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_centroid_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_name_vertex_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_name_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_name_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_name
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_smooth_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_smooth_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_flat_fragment_flat
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_centroid_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_centroid_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_location_vertex_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_location_fragment_smooth
-dEQP-GLES31.functional.separate_shader.interface#same_location_fragment_centroid
-dEQP-GLES31.functional.separate_shader.interface#same_location
-dEQP-GLES31.functional.separate_shader.random#0
-dEQP-GLES31.functional.separate_shader.random#1
-dEQP-GLES31.functional.separate_shader.random#2
-dEQP-GLES31.functional.separate_shader.random#3
-dEQP-GLES31.functional.separate_shader.random#4
-dEQP-GLES31.functional.separate_shader.random#5
-dEQP-GLES31.functional.separate_shader.random#6
-dEQP-GLES31.functional.separate_shader.random#7
-dEQP-GLES31.functional.separate_shader.random#8
-dEQP-GLES31.functional.separate_shader.random#9
-dEQP-GLES31.functional.separate_shader.random#10
-dEQP-GLES31.functional.separate_shader.random#11
-dEQP-GLES31.functional.separate_shader.random#12
-dEQP-GLES31.functional.separate_shader.random#13
-dEQP-GLES31.functional.separate_shader.random#14
-dEQP-GLES31.functional.separate_shader.random#15
-dEQP-GLES31.functional.separate_shader.random#16
-dEQP-GLES31.functional.separate_shader.random#17
-dEQP-GLES31.functional.separate_shader.random#18
-dEQP-GLES31.functional.separate_shader.random#19
-dEQP-GLES31.functional.separate_shader.random#20
-dEQP-GLES31.functional.separate_shader.random#21
-dEQP-GLES31.functional.separate_shader.random#22
-dEQP-GLES31.functional.separate_shader.random#23
-dEQP-GLES31.functional.separate_shader.random#24
-dEQP-GLES31.functional.separate_shader.random#25
-dEQP-GLES31.functional.separate_shader.random#26
-dEQP-GLES31.functional.separate_shader.random#27
-dEQP-GLES31.functional.separate_shader.random#28
-dEQP-GLES31.functional.separate_shader.random#29
-dEQP-GLES31.functional.separate_shader.random#30
-dEQP-GLES31.functional.separate_shader.random#31
-dEQP-GLES31.functional.separate_shader.random#32
-dEQP-GLES31.functional.separate_shader.random#33
-dEQP-GLES31.functional.separate_shader.random#34
-dEQP-GLES31.functional.separate_shader.random#35
-dEQP-GLES31.functional.separate_shader.random#36
-dEQP-GLES31.functional.separate_shader.random#37
-dEQP-GLES31.functional.separate_shader.random#38
-dEQP-GLES31.functional.separate_shader.random#39
-dEQP-GLES31.functional.separate_shader.random#40
-dEQP-GLES31.functional.separate_shader.random#41
-dEQP-GLES31.functional.separate_shader.random#42
-dEQP-GLES31.functional.separate_shader.random#43
-dEQP-GLES31.functional.separate_shader.random#44
-dEQP-GLES31.functional.separate_shader.random#45
-dEQP-GLES31.functional.separate_shader.random#46
-dEQP-GLES31.functional.separate_shader.random#47
-dEQP-GLES31.functional.separate_shader.random#48
-dEQP-GLES31.functional.separate_shader.random#49
-dEQP-GLES31.functional.separate_shader.random#50
-dEQP-GLES31.functional.separate_shader.random#51
-dEQP-GLES31.functional.separate_shader.random#52
-dEQP-GLES31.functional.separate_shader.random#53
-dEQP-GLES31.functional.separate_shader.random#54
-dEQP-GLES31.functional.separate_shader.random#55
-dEQP-GLES31.functional.separate_shader.random#56
-dEQP-GLES31.functional.separate_shader.random#57
-dEQP-GLES31.functional.separate_shader.random#58
-dEQP-GLES31.functional.separate_shader.random#59
-dEQP-GLES31.functional.separate_shader.random#60
-dEQP-GLES31.functional.separate_shader.random#61
-dEQP-GLES31.functional.separate_shader.random#62
-dEQP-GLES31.functional.separate_shader.random#63
-dEQP-GLES31.functional.separate_shader.random#64
-dEQP-GLES31.functional.separate_shader.random#65
-dEQP-GLES31.functional.separate_shader.random#66
-dEQP-GLES31.functional.separate_shader.random#67
-dEQP-GLES31.functional.separate_shader.random#68
-dEQP-GLES31.functional.separate_shader.random#69
-dEQP-GLES31.functional.separate_shader.random#70
-dEQP-GLES31.functional.separate_shader.random#71
-dEQP-GLES31.functional.separate_shader.random#72
-dEQP-GLES31.functional.separate_shader.random#73
-dEQP-GLES31.functional.separate_shader.random#74
-dEQP-GLES31.functional.separate_shader.random#75
-dEQP-GLES31.functional.separate_shader.random#76
-dEQP-GLES31.functional.separate_shader.random#77
-dEQP-GLES31.functional.separate_shader.random#78
-dEQP-GLES31.functional.separate_shader.random#79
-dEQP-GLES31.functional.separate_shader.random#80
-dEQP-GLES31.functional.separate_shader.random#81
-dEQP-GLES31.functional.separate_shader.random#82
-dEQP-GLES31.functional.separate_shader.random#83
-dEQP-GLES31.functional.separate_shader.random#84
-dEQP-GLES31.functional.separate_shader.random#85
-dEQP-GLES31.functional.separate_shader.random#86
-dEQP-GLES31.functional.separate_shader.random#87
-dEQP-GLES31.functional.separate_shader.random#88
-dEQP-GLES31.functional.separate_shader.random#89
-dEQP-GLES31.functional.separate_shader.random#90
-dEQP-GLES31.functional.separate_shader.random#91
-dEQP-GLES31.functional.separate_shader.random#92
-dEQP-GLES31.functional.separate_shader.random#93
-dEQP-GLES31.functional.separate_shader.random#94
-dEQP-GLES31.functional.separate_shader.random#95
-dEQP-GLES31.functional.separate_shader.random#96
-dEQP-GLES31.functional.separate_shader.random#97
-dEQP-GLES31.functional.separate_shader.random#98
-dEQP-GLES31.functional.separate_shader.random#99
-dEQP-GLES31.functional.separate_shader.random#100
-dEQP-GLES31.functional.separate_shader.random#101
-dEQP-GLES31.functional.separate_shader.random#102
-dEQP-GLES31.functional.separate_shader.random#103
-dEQP-GLES31.functional.separate_shader.random#104
-dEQP-GLES31.functional.separate_shader.random#105
-dEQP-GLES31.functional.separate_shader.random#106
-dEQP-GLES31.functional.separate_shader.random#107
-dEQP-GLES31.functional.separate_shader.random#108
-dEQP-GLES31.functional.separate_shader.random#109
-dEQP-GLES31.functional.separate_shader.random#110
-dEQP-GLES31.functional.separate_shader.random#111
-dEQP-GLES31.functional.separate_shader.random#112
-dEQP-GLES31.functional.separate_shader.random#113
-dEQP-GLES31.functional.separate_shader.random#114
-dEQP-GLES31.functional.separate_shader.random#115
-dEQP-GLES31.functional.separate_shader.random#116
-dEQP-GLES31.functional.separate_shader.random#117
-dEQP-GLES31.functional.separate_shader.random#118
-dEQP-GLES31.functional.separate_shader.random#119
-dEQP-GLES31.functional.separate_shader.random#120
-dEQP-GLES31.functional.separate_shader.random#121
-dEQP-GLES31.functional.separate_shader.random#122
-dEQP-GLES31.functional.separate_shader.random#123
-dEQP-GLES31.functional.separate_shader.random#124
-dEQP-GLES31.functional.separate_shader.random#125
-dEQP-GLES31.functional.separate_shader.random#126
-dEQP-GLES31.functional.separate_shader.random#127
-dEQP-GLES31.functional.separate_shader.api#current_program_priority
-dEQP-GLES31.functional.separate_shader.api#active_program_uniform
-dEQP-GLES31.functional.separate_shader.api#pipeline_programs
-dEQP-GLES31.functional.separate_shader.api#pipeline_active
-dEQP-GLES31.functional.separate_shader.validation.varying#missing_input
-dEQP-GLES31.functional.separate_shader.validation.varying#missing_output
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_type
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_precision
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_explicit_location_type
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_explicit_location_precision
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_explicit_location
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_implicit_explicit_location_1
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_implicit_explicit_location_2
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_implicit_explicit_location_3
-dEQP-GLES31.functional.separate_shader.validation.varying#match_different_struct_names
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_struct_member_name
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_struct_member_type
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_struct_member_precision
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_struct_member_order
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_array_element_type
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_array_length
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_array_precision
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#missing_input
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#missing_output
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_number_of_declarations
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_order
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_type
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_name
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_precision
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_array_size
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#match_different_member_struct_names
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_struct_member_name
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_struct_member_type
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_struct_member_precision
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_member_struct_member_order
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_array_size
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_variable_and_block_member_1
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_variable_and_block_member_2
-dEQP-GLES31.functional.uniform_location.basic#float_vertex
-dEQP-GLES31.functional.uniform_location.basic#float_fragment
-dEQP-GLES31.functional.uniform_location.basic#vec2_vertex
-dEQP-GLES31.functional.uniform_location.basic#vec2_fragment
-dEQP-GLES31.functional.uniform_location.basic#vec3_vertex
-dEQP-GLES31.functional.uniform_location.basic#vec3_fragment
-dEQP-GLES31.functional.uniform_location.basic#vec4_vertex
-dEQP-GLES31.functional.uniform_location.basic#vec4_fragment
-dEQP-GLES31.functional.uniform_location.basic#int_vertex
-dEQP-GLES31.functional.uniform_location.basic#int_fragment
-dEQP-GLES31.functional.uniform_location.basic#ivec2_vertex
-dEQP-GLES31.functional.uniform_location.basic#ivec2_fragment
-dEQP-GLES31.functional.uniform_location.basic#ivec3_vertex
-dEQP-GLES31.functional.uniform_location.basic#ivec3_fragment
-dEQP-GLES31.functional.uniform_location.basic#ivec4_vertex
-dEQP-GLES31.functional.uniform_location.basic#ivec4_fragment
-dEQP-GLES31.functional.uniform_location.basic#uint_vertex
-dEQP-GLES31.functional.uniform_location.basic#uint_fragment
-dEQP-GLES31.functional.uniform_location.basic#uvec2_vertex
-dEQP-GLES31.functional.uniform_location.basic#uvec2_fragment
-dEQP-GLES31.functional.uniform_location.basic#uvec3_vertex
-dEQP-GLES31.functional.uniform_location.basic#uvec3_fragment
-dEQP-GLES31.functional.uniform_location.basic#uvec4_vertex
-dEQP-GLES31.functional.uniform_location.basic#uvec4_fragment
-dEQP-GLES31.functional.uniform_location.basic#bool_vertex
-dEQP-GLES31.functional.uniform_location.basic#bool_fragment
-dEQP-GLES31.functional.uniform_location.basic#bvec2_vertex
-dEQP-GLES31.functional.uniform_location.basic#bvec2_fragment
-dEQP-GLES31.functional.uniform_location.basic#bvec3_vertex
-dEQP-GLES31.functional.uniform_location.basic#bvec3_fragment
-dEQP-GLES31.functional.uniform_location.basic#bvec4_vertex
-dEQP-GLES31.functional.uniform_location.basic#bvec4_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat2_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat2_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat2x3_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat2x3_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat2x4_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat2x4_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat3x2_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat3x2_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat3_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat3_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat3x4_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat3x4_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat4x2_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat4x2_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat4x3_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat4x3_fragment
-dEQP-GLES31.functional.uniform_location.basic#mat4_vertex
-dEQP-GLES31.functional.uniform_location.basic#mat4_fragment
-dEQP-GLES31.functional.uniform_location.basic#sampler2D_vertex
-dEQP-GLES31.functional.uniform_location.basic#sampler2D_fragment
-dEQP-GLES31.functional.uniform_location.basic#isampler2D_vertex
-dEQP-GLES31.functional.uniform_location.basic#isampler2D_fragment
-dEQP-GLES31.functional.uniform_location.basic#usampler2D_vertex
-dEQP-GLES31.functional.uniform_location.basic#usampler2D_fragment
-dEQP-GLES31.functional.uniform_location.array#float_vertex
-dEQP-GLES31.functional.uniform_location.array#float_fragment
-dEQP-GLES31.functional.uniform_location.array#vec2_vertex
-dEQP-GLES31.functional.uniform_location.array#vec2_fragment
-dEQP-GLES31.functional.uniform_location.array#vec3_vertex
-dEQP-GLES31.functional.uniform_location.array#vec3_fragment
-dEQP-GLES31.functional.uniform_location.array#vec4_vertex
-dEQP-GLES31.functional.uniform_location.array#vec4_fragment
-dEQP-GLES31.functional.uniform_location.array#int_vertex
-dEQP-GLES31.functional.uniform_location.array#int_fragment
-dEQP-GLES31.functional.uniform_location.array#ivec2_vertex
-dEQP-GLES31.functional.uniform_location.array#ivec2_fragment
-dEQP-GLES31.functional.uniform_location.array#ivec3_vertex
-dEQP-GLES31.functional.uniform_location.array#ivec3_fragment
-dEQP-GLES31.functional.uniform_location.array#ivec4_vertex
-dEQP-GLES31.functional.uniform_location.array#ivec4_fragment
-dEQP-GLES31.functional.uniform_location.array#uint_vertex
-dEQP-GLES31.functional.uniform_location.array#uint_fragment
-dEQP-GLES31.functional.uniform_location.array#uvec2_vertex
-dEQP-GLES31.functional.uniform_location.array#uvec2_fragment
-dEQP-GLES31.functional.uniform_location.array#uvec3_vertex
-dEQP-GLES31.functional.uniform_location.array#uvec3_fragment
-dEQP-GLES31.functional.uniform_location.array#uvec4_vertex
-dEQP-GLES31.functional.uniform_location.array#uvec4_fragment
-dEQP-GLES31.functional.uniform_location.array#bool_vertex
-dEQP-GLES31.functional.uniform_location.array#bool_fragment
-dEQP-GLES31.functional.uniform_location.array#bvec2_vertex
-dEQP-GLES31.functional.uniform_location.array#bvec2_fragment
-dEQP-GLES31.functional.uniform_location.array#bvec3_vertex
-dEQP-GLES31.functional.uniform_location.array#bvec3_fragment
-dEQP-GLES31.functional.uniform_location.array#bvec4_vertex
-dEQP-GLES31.functional.uniform_location.array#bvec4_fragment
-dEQP-GLES31.functional.uniform_location.array#mat2_vertex
-dEQP-GLES31.functional.uniform_location.array#mat2_fragment
-dEQP-GLES31.functional.uniform_location.array#mat2x3_vertex
-dEQP-GLES31.functional.uniform_location.array#mat2x3_fragment
-dEQP-GLES31.functional.uniform_location.array#mat2x4_vertex
-dEQP-GLES31.functional.uniform_location.array#mat2x4_fragment
-dEQP-GLES31.functional.uniform_location.array#mat3x2_vertex
-dEQP-GLES31.functional.uniform_location.array#mat3x2_fragment
-dEQP-GLES31.functional.uniform_location.array#mat3_vertex
-dEQP-GLES31.functional.uniform_location.array#mat3_fragment
-dEQP-GLES31.functional.uniform_location.array#mat3x4_vertex
-dEQP-GLES31.functional.uniform_location.array#mat3x4_fragment
-dEQP-GLES31.functional.uniform_location.array#mat4x2_vertex
-dEQP-GLES31.functional.uniform_location.array#mat4x2_fragment
-dEQP-GLES31.functional.uniform_location.array#mat4x3_vertex
-dEQP-GLES31.functional.uniform_location.array#mat4x3_fragment
-dEQP-GLES31.functional.uniform_location.array#mat4_vertex
-dEQP-GLES31.functional.uniform_location.array#mat4_fragment
-dEQP-GLES31.functional.uniform_location.array#sampler2D_vertex
-dEQP-GLES31.functional.uniform_location.array#sampler2D_fragment
-dEQP-GLES31.functional.uniform_location.array#isampler2D_vertex
-dEQP-GLES31.functional.uniform_location.array#isampler2D_fragment
-dEQP-GLES31.functional.uniform_location.array#usampler2D_vertex
-dEQP-GLES31.functional.uniform_location.array#usampler2D_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#float_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#float_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#vec2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#vec2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#vec3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#vec3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#vec4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#vec4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#int_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#int_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#ivec2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#ivec2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#ivec3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#ivec3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#ivec4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#ivec4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#uint_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#uint_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#uvec2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#uvec2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#uvec3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#uvec3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#uvec4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#uvec4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#bool_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#bool_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#bvec2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#bvec2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#bvec3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#bvec3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#bvec4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#bvec4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat2x3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat2x3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat2x4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat2x4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat3x2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat3x2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat3x4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat3x4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat4x2_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat4x2_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat4x3_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat4x3_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#mat4_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#mat4_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#sampler2D_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#sampler2D_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#isampler2D_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#isampler2D_fragment
-dEQP-GLES31.functional.uniform_location.nested_array#usampler2D_vertex
-dEQP-GLES31.functional.uniform_location.nested_array#usampler2D_fragment
-dEQP-GLES31.functional.uniform_location.struct#case_0
-dEQP-GLES31.functional.uniform_location.struct#case_1
-dEQP-GLES31.functional.uniform_location.struct#case_2
-dEQP-GLES31.functional.uniform_location.struct#case_3
-dEQP-GLES31.functional.uniform_location.struct#case_4
-dEQP-GLES31.functional.uniform_location.struct#case_5
-dEQP-GLES31.functional.uniform_location.struct#case_6
-dEQP-GLES31.functional.uniform_location.struct#case_7
-dEQP-GLES31.functional.uniform_location.struct#case_8
-dEQP-GLES31.functional.uniform_location.struct#case_9
-dEQP-GLES31.functional.uniform_location.struct#case_10
-dEQP-GLES31.functional.uniform_location.struct#case_11
-dEQP-GLES31.functional.uniform_location.struct#case_12
-dEQP-GLES31.functional.uniform_location.struct#case_13
-dEQP-GLES31.functional.uniform_location.struct#case_14
-dEQP-GLES31.functional.uniform_location.struct#case_15
-dEQP-GLES31.functional.uniform_location.nested_struct#case_0
-dEQP-GLES31.functional.uniform_location.nested_struct#case_1
-dEQP-GLES31.functional.uniform_location.nested_struct#case_2
-dEQP-GLES31.functional.uniform_location.nested_struct#case_3
-dEQP-GLES31.functional.uniform_location.nested_struct#case_4
-dEQP-GLES31.functional.uniform_location.nested_struct#case_5
-dEQP-GLES31.functional.uniform_location.nested_struct#case_6
-dEQP-GLES31.functional.uniform_location.nested_struct#case_7
-dEQP-GLES31.functional.uniform_location.nested_struct#case_8
-dEQP-GLES31.functional.uniform_location.nested_struct#case_9
-dEQP-GLES31.functional.uniform_location.nested_struct#case_10
-dEQP-GLES31.functional.uniform_location.nested_struct#case_11
-dEQP-GLES31.functional.uniform_location.nested_struct#case_12
-dEQP-GLES31.functional.uniform_location.nested_struct#case_13
-dEQP-GLES31.functional.uniform_location.nested_struct#case_14
-dEQP-GLES31.functional.uniform_location.nested_struct#case_15
-dEQP-GLES31.functional.uniform_location.min_max#float_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#float_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#float_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#float_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#vec2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#vec2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#vec2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#vec2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#vec3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#vec3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#vec3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#vec3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#vec4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#vec4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#vec4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#vec4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#int_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#int_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#int_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#int_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#ivec4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#ivec4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#uint_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#uint_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#uint_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#uint_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#uvec4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#uvec4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#bool_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#bool_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#bool_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#bool_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#bvec4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#bvec4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2x3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2x3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2x3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2x3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2x4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2x4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat2x4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat2x4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3x2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3x2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3x2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3x2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3x4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3x4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat3x4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat3x4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4x2_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4x2_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4x2_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4x2_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4x3_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4x3_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4x3_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4x3_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#mat4_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#mat4_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#sampler2D_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#sampler2D_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#sampler2D_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#sampler2D_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#isampler2D_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#isampler2D_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#isampler2D_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#isampler2D_fragment_max
-dEQP-GLES31.functional.uniform_location.min_max#usampler2D_vertex_min
-dEQP-GLES31.functional.uniform_location.min_max#usampler2D_vertex_max
-dEQP-GLES31.functional.uniform_location.min_max#usampler2D_fragment_min
-dEQP-GLES31.functional.uniform_location.min_max#usampler2D_fragment_max
-dEQP-GLES31.functional.uniform_location.link#case_0
-dEQP-GLES31.functional.uniform_location.link#case_1
-dEQP-GLES31.functional.uniform_location.link#case_2
-dEQP-GLES31.functional.uniform_location.link#case_3
-dEQP-GLES31.functional.uniform_location.link#case_4
-dEQP-GLES31.functional.uniform_location.link#case_5
-dEQP-GLES31.functional.uniform_location.link#case_6
-dEQP-GLES31.functional.uniform_location.link#case_7
-dEQP-GLES31.functional.uniform_location.link#case_8
-dEQP-GLES31.functional.uniform_location.link#case_9
-dEQP-GLES31.functional.uniform_location.negative#duplicate_location_vertex
-dEQP-GLES31.functional.uniform_location.negative#duplicate_location_fragment
-dEQP-GLES31.functional.uniform_location.negative#duplicate_location_unused_vertex
-dEQP-GLES31.functional.uniform_location.negative#duplicate_location_unused_fragment
-dEQP-GLES31.functional.uniform_location.negative#duplicate_location_split
-dEQP-GLES31.functional.uniform_location.negative#array_overlap_vertex
-dEQP-GLES31.functional.uniform_location.negative#array_overlap_fragment
-dEQP-GLES31.functional.uniform_location.negative#array_overlap_unused_vertex
-dEQP-GLES31.functional.uniform_location.negative#array_overlap_unused_fragment
-dEQP-GLES31.functional.uniform_location.negative#array_overlap_split
-dEQP-GLES31.functional.uniform_location.negative#struct_overlap_vertex
-dEQP-GLES31.functional.uniform_location.negative#struct_overlap_fragment
-dEQP-GLES31.functional.uniform_location.negative#struct_overlap_unused_vertex
-dEQP-GLES31.functional.uniform_location.negative#struct_overlap_unused_fragment
-dEQP-GLES31.functional.uniform_location.negative#struct_overlap_split
-dEQP-GLES31.functional.uniform_location.negative#complex_overlap_vertex
-dEQP-GLES31.functional.uniform_location.negative#complex_overlap_fragment
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.passthrough#tessellate_tris_passthrough_geometry_no_change
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.passthrough#tessellate_quads_passthrough_geometry_no_change
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.passthrough#tessellate_isolines_passthrough_geometry_no_change
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.passthrough#passthrough_tessellation_geometry_shade_triangles_no_change
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.passthrough#passthrough_tessellation_geometry_shade_lines_no_change
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_required_max_tessellation
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_implementation_max_tessellation
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_required_max_geometry
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_implementation_max_geometry
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_required_max_invocations
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.limits#output_implementation_max_invocations
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.scatter#geometry_scatter_instances
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.scatter#geometry_scatter_primitives
-dEQP-GLES31.functional.tessellation_geometry_interaction.render.scatter#geometry_scatter_layers
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_triangles_geometry_output_points
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_quads_geometry_output_points
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_isolines_geometry_output_points
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_triangles_point_mode_geometry_output_lines
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_quads_point_mode_geometry_output_lines
-dEQP-GLES31.functional.tessellation_geometry_interaction.feedback#tessellation_output_isolines_point_mode_geometry_output_triangles
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#evaluation_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#geometry_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_control_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_evaluation_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_eval_default
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_geometry_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_evaluation_set_geometry_set
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_control_pass_eval_add_geometry_add
-dEQP-GLES31.functional.tessellation_geometry_interaction.point_size#vertex_set_evaluation_set_geometry_default
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#bind_buffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#delete_buffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#gen_buffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#buffer_data
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#buffer_sub_data_size_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#clear
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#read_pixels
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#read_pixels_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#read_pixels_fbo_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#bind_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#bind_buffer_base
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#clear_bufferiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#clear_bufferuiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#clear_bufferfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#clear_bufferfi
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#copy_buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#draw_buffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#flush_mapped_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#map_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#read_buffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#unmap_buffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#bind_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#bind_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#check_framebuffer_status
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#gen_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#gen_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#delete_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#delete_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#framebuffer_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#framebuffer_texture2d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#renderbuffer_storage
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#blit_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#blit_framebuffer_multisample
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#framebuffer_texture_layer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#renderbuffer_storage_multisample
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#activetexture
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#bindtexture
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copyteximage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#deletetextures
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#generatemipmap
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#gentextures
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#pixelstorei
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texparameteri
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texparameterf
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texparameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texparameterfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#teximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texsubimage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#copytexsubimage3d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedteximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#compressedtexsubimage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage2d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage2d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage2d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage3d
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage3d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.texture#texstorage3d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#create_shader
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#shader_source
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#compile_shader
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#delete_shader
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#shader_binary
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#attach_shader
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#detach_shader
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#delete_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#validate_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_program_binary
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#program_binary
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#program_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#gen_samplers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#bind_sampler
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#delete_samplers
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#sampler_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#sampler_parameterf
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_uniform_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#bind_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniform_block_binding
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformf_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformf_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformf_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformi_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformi_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformi_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformui_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformui_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformui_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformuiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformuiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformuiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniformuiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniform_matrixfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniform_matrixfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniform_matrixfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#uniform_matrixfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#gen_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#bind_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#delete_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#begin_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#pause_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#resume_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#end_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#get_transform_feedback_varying
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.shader#transform_feedback_varyings
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#scissor
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#depth_func
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#viewport
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#stencil_func
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#stencil_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#stencil_op
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#stencil_op_separate
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#stencil_mask_separate
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#blend_equation
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#blend_equation_separate
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#blend_func
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#blend_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#cull_face
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#front_face
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#line_width
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#gen_queries
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#begin_query
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#end_query
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#delete_queries
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#fence_sync
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#client_wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.fragment#delete_sync
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attribf
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attribi4
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attribi4v
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attrib_pointer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attrib_i_pointer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#enable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#disable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#gen_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#bind_vertex_array
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#delete_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#vertex_attrib_divisor
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays_instanced
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_arrays_instanced_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements_instanced
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_elements_instanced_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_range_elements
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_range_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.vertex_array#draw_range_elements_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#enable
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#disable
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_booleanv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_floatv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_integerv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_integer64v
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_integeri_v
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_integer64i_v
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_string
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_stringi
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_attached_shaders
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_shaderiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_shader_info_log
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_shader_precision_format
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_shader_source
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_programiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_program_info_log
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_tex_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_tex_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_uniformfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_uniformiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_uniformuiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_active_uniform
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_active_uniformsiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_active_uniform_blockiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_active_uniform_block_name
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_active_attrib
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_uniform_indices
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_vertex_attribiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_vertex_attribi_iv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_vertex_attribi_uiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_vertex_attrib_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_frag_data_location
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_buffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_buffer_parameteri64v
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_buffer_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_framebuffer_attachment_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_renderbuffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_internalformativ
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_queryiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_query_objectuiv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#get_synciv
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#is_enabled
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.state#hint
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#bind_buffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#delete_buffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#gen_buffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#buffer_data
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#buffer_sub_data_size_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#clear
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#read_pixels
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#read_pixels_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#read_pixels_fbo_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#bind_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#bind_buffer_base
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#clear_bufferiv
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#clear_bufferuiv
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#clear_bufferfv
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#clear_bufferfi
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#copy_buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#draw_buffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#flush_mapped_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#map_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#read_buffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#unmap_buffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#bind_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#bind_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#check_framebuffer_status
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#gen_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#gen_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#delete_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#delete_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#framebuffer_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#framebuffer_texture2d
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#renderbuffer_storage
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#blit_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#blit_framebuffer_multisample
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#framebuffer_texture_layer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#renderbuffer_storage_multisample
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#activetexture
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#bindtexture
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copyteximage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#deletetextures
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#generatemipmap
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#gentextures
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#pixelstorei
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texparameteri
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texparameterf
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texparameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texparameterfv
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#teximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texsubimage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#copytexsubimage3d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedteximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#compressedtexsubimage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage2d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage2d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage2d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage3d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.log.texture#texstorage3d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#create_shader
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#shader_source
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#compile_shader
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#delete_shader
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#shader_binary
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#attach_shader
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#detach_shader
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#delete_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#validate_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_program_binary
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#program_binary
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#program_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#gen_samplers
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#bind_sampler
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#delete_samplers
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#sampler_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#sampler_parameterf
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_uniform_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#bind_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniform_block_binding
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformf_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformf_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformf_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformi_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformi_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformi_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformui_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformui_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformui_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformuiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformuiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformuiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniformuiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniform_matrixfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniform_matrixfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniform_matrixfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#uniform_matrixfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#gen_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#bind_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#delete_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#begin_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#pause_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#resume_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#end_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#get_transform_feedback_varying
-dEQP-GLES31.functional.debug.negative_coverage.log.shader#transform_feedback_varyings
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#scissor
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#depth_func
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#viewport
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#stencil_func
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#stencil_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#stencil_op
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#stencil_op_separate
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#stencil_mask_separate
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#blend_equation
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#blend_equation_separate
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#blend_func
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#blend_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#cull_face
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#front_face
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#line_width
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#gen_queries
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#begin_query
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#end_query
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#delete_queries
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#fence_sync
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#client_wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.log.fragment#delete_sync
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attribf
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attribi4
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attribi4v
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attrib_pointer
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attrib_i_pointer
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#enable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#disable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#gen_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#bind_vertex_array
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#delete_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#vertex_attrib_divisor
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays_instanced
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_arrays_instanced_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements_instanced
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_elements_instanced_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_range_elements
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_range_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array#draw_range_elements_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.log.state#enable
-dEQP-GLES31.functional.debug.negative_coverage.log.state#disable
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_booleanv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_floatv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_integerv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_integer64v
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_integeri_v
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_integer64i_v
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_string
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_stringi
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_attached_shaders
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_shaderiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_shader_info_log
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_shader_precision_format
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_shader_source
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_programiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_program_info_log
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_tex_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_tex_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_uniformfv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_uniformiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_uniformuiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_active_uniform
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_active_uniformsiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_active_uniform_blockiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_active_uniform_block_name
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_active_attrib
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_uniform_indices
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_vertex_attribiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_vertex_attribi_iv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_vertex_attribi_uiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_vertex_attrib_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_frag_data_location
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_buffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_buffer_parameteri64v
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_buffer_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_framebuffer_attachment_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_renderbuffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_internalformativ
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_queryiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_query_objectuiv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#get_synciv
-dEQP-GLES31.functional.debug.negative_coverage.log.state#is_enabled
-dEQP-GLES31.functional.debug.negative_coverage.log.state#hint
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#bind_buffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#delete_buffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#gen_buffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#buffer_data
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#buffer_sub_data_size_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#read_pixels
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#read_pixels_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#read_pixels_fbo_format_mismatch
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#bind_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#bind_buffer_base
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#clear_bufferiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#clear_bufferuiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#clear_bufferfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#clear_bufferfi
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#copy_buffer_sub_data
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#flush_mapped_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#map_buffer_range
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#unmap_buffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#bind_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#bind_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#check_framebuffer_status
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#gen_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#gen_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#delete_framebuffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#delete_renderbuffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#framebuffer_renderbuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#blit_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#activetexture
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#bindtexture
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_invalid_format
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copyteximage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_invalid_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage2d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#deletetextures
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#gentextures
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#pixelstorei
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_inequal_width_height_cube
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_max_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texparameteri
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texparameterf
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texparameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texparameterfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texsubimage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_neg_width_height
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#copytexsubimage3d_incomplete_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_max_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_invalid_border
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_invalid_buffer_target
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_neg_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_neg_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_invalid_offset
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_neg_width_height_depth
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_invalid_size
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage2d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage2d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage2d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage3d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage3d_invalid_binding
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#texstorage3d_invalid_levels
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#create_shader
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#shader_source
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#compile_shader
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#delete_shader
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#shader_binary
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#attach_shader
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#detach_shader
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#link_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#use_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#delete_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#validate_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_program_binary
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#gen_samplers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#bind_sampler
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#delete_samplers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#sampler_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#sampler_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#sampler_parameterf
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#sampler_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_uniform_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#bind_attrib_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniform_block_binding
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformf_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformf_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformf_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformi_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformi_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformi_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformui_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformui_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformui_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformuiv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformuiv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformuiv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniformuiv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniform_matrixfv_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniform_matrixfv_incompatible_type
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniform_matrixfv_invalid_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#uniform_matrixfv_invalid_count
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#gen_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#bind_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#delete_transform_feedbacks
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#begin_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#pause_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#resume_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#end_transform_feedback
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#get_transform_feedback_varying
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#transform_feedback_varyings
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#scissor
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#depth_func
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#viewport
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#stencil_func
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#stencil_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#stencil_op
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#stencil_op_separate
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#stencil_mask_separate
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#blend_equation
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#blend_equation_separate
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#blend_func
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#blend_func_separate
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#cull_face
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#front_face
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#line_width
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#gen_queries
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#begin_query
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#end_query
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#delete_queries
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#fence_sync
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#client_wait_sync
-dEQP-GLES31.functional.debug.negative_coverage.get_error.fragment#delete_sync
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attribf
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attribi4
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attribi4v
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attrib_pointer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attrib_i_pointer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#enable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#disable_vertex_attrib_array
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#gen_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#bind_vertex_array
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#delete_vertex_arrays
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#vertex_attrib_divisor
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays_instanced
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_arrays_instanced_incomplete_primitive
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_elements_instanced_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array#draw_range_elements_invalid_program
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#enable
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#disable
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_booleanv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_floatv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_integerv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_integer64v
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_integeri_v
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_integer64i_v
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_string
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_stringi
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_attached_shaders
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_shaderiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_shader_info_log
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_shader_precision_format
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_shader_source
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_programiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_program_info_log
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_tex_parameterfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_tex_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_uniformfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_uniformiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_uniformuiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_active_uniform
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_active_uniformsiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_active_uniform_blockiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_active_uniform_block_name
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_active_attrib
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_uniform_indices
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_vertex_attribfv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_vertex_attribiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_vertex_attribi_iv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_vertex_attribi_uiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_vertex_attrib_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_frag_data_location
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_buffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_buffer_parameteri64v
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_buffer_pointerv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_renderbuffer_parameteriv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_queryiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_query_objectuiv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_synciv
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#is_enabled
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#hint
-dEQP-GLES31.functional.debug.externally_generated#application_messages
-dEQP-GLES31.functional.debug.externally_generated#third_party_messages
-dEQP-GLES31.functional.debug.externally_generated#push_pop_stack
-dEQP-GLES31.functional.debug.externally_generated#push_pop_consistency
-dEQP-GLES31.functional.debug.error_filters#case_4
-dEQP-GLES31.functional.debug.error_filters#case_5
-dEQP-GLES31.functional.debug.error_filters#case_6
-dEQP-GLES31.functional.debug.error_filters#case_7
-dEQP-GLES31.functional.debug.error_filters#case_10
-dEQP-GLES31.functional.debug.error_filters#case_12
-dEQP-GLES31.functional.debug.error_filters#case_13
-dEQP-GLES31.functional.debug.error_filters#case_14
-dEQP-GLES31.functional.debug.error_filters#case_15
-dEQP-GLES31.functional.debug.error_filters#case_21
-dEQP-GLES31.functional.debug.error_filters#case_22
-dEQP-GLES31.functional.debug.error_filters#case_23
-dEQP-GLES31.functional.debug.error_filters#case_25
-dEQP-GLES31.functional.debug.error_filters#case_28
-dEQP-GLES31.functional.debug.error_filters#case_29
-dEQP-GLES31.functional.debug.error_filters#case_30
-dEQP-GLES31.functional.debug.async#case_0_log
-dEQP-GLES31.functional.debug.async#case_1_callback
-dEQP-GLES31.functional.debug.async#case_2_log
-dEQP-GLES31.functional.debug.async#case_3_callback
-dEQP-GLES31.functional.debug.async#case_4_log
-dEQP-GLES31.functional.debug.async#case_5_callback
-dEQP-GLES31.functional.debug.async#case_6_log
-dEQP-GLES31.functional.debug.async#case_7_callback
-dEQP-GLES31.functional.debug.async#case_8_log
-dEQP-GLES31.functional.debug.async#case_9_callback
-dEQP-GLES31.functional.debug.async#case_10_log
-dEQP-GLES31.functional.debug.async#case_11_callback
-dEQP-GLES31.functional.debug.async#case_12_log
-dEQP-GLES31.functional.debug.async#case_13_callback
-dEQP-GLES31.functional.debug.async#case_14_log
-dEQP-GLES31.functional.debug.async#case_15_callback
-dEQP-GLES31.functional.debug.object_labels#buffer
-dEQP-GLES31.functional.debug.object_labels#shader
-dEQP-GLES31.functional.debug.object_labels#program
-dEQP-GLES31.functional.debug.object_labels#query
-dEQP-GLES31.functional.debug.object_labels#transform_feedback
-dEQP-GLES31.functional.debug.object_labels#sampler
-dEQP-GLES31.functional.debug.object_labels#texture
-dEQP-GLES31.functional.debug.object_labels#renderbuffer
-dEQP-GLES31.functional.debug.object_labels#framebuffer
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba32i
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba32ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba16i
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba16ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba8
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba8i
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba8ui
-dEQP-GLES31.functional.fbo.color.texcubearray#srgb8_alpha8
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb10_a2
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb10_a2ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba4
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb5_a1
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb8
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb565
-dEQP-GLES31.functional.fbo.color.texcubearray#rg32i
-dEQP-GLES31.functional.fbo.color.texcubearray#rg32ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rg16i
-dEQP-GLES31.functional.fbo.color.texcubearray#rg16ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rg8
-dEQP-GLES31.functional.fbo.color.texcubearray#rg8i
-dEQP-GLES31.functional.fbo.color.texcubearray#rg8ui
-dEQP-GLES31.functional.fbo.color.texcubearray#r32i
-dEQP-GLES31.functional.fbo.color.texcubearray#r32ui
-dEQP-GLES31.functional.fbo.color.texcubearray#r16i
-dEQP-GLES31.functional.fbo.color.texcubearray#r16ui
-dEQP-GLES31.functional.fbo.color.texcubearray#r8
-dEQP-GLES31.functional.fbo.color.texcubearray#r8i
-dEQP-GLES31.functional.fbo.color.texcubearray#r8ui
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba32f
-dEQP-GLES31.functional.fbo.color.texcubearray#rgba16f
-dEQP-GLES31.functional.fbo.color.texcubearray#r11f_g11f_b10f
-dEQP-GLES31.functional.fbo.color.texcubearray#rg32f
-dEQP-GLES31.functional.fbo.color.texcubearray#rg16f
-dEQP-GLES31.functional.fbo.color.texcubearray#r32f
-dEQP-GLES31.functional.fbo.color.texcubearray#r16f
-dEQP-GLES31.functional.fbo.color.texcubearray#rgb16f
-dEQP-GLES31.functional.fbo.no_attachments.size#16x16
-dEQP-GLES31.functional.fbo.no_attachments.size#16x64
-dEQP-GLES31.functional.fbo.no_attachments.size#16x256
-dEQP-GLES31.functional.fbo.no_attachments.size#16x1024
-dEQP-GLES31.functional.fbo.no_attachments.size#64x16
-dEQP-GLES31.functional.fbo.no_attachments.size#64x64
-dEQP-GLES31.functional.fbo.no_attachments.size#64x256
-dEQP-GLES31.functional.fbo.no_attachments.size#64x1024
-dEQP-GLES31.functional.fbo.no_attachments.size#256x16
-dEQP-GLES31.functional.fbo.no_attachments.size#256x64
-dEQP-GLES31.functional.fbo.no_attachments.size#256x256
-dEQP-GLES31.functional.fbo.no_attachments.size#256x1024
-dEQP-GLES31.functional.fbo.no_attachments.size#1024x16
-dEQP-GLES31.functional.fbo.no_attachments.size#1024x64
-dEQP-GLES31.functional.fbo.no_attachments.size#1024x256
-dEQP-GLES31.functional.fbo.no_attachments.size#1024x1024
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#1x1
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#3x3
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#15x15
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#17x17
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#31x31
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#33x33
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#63x63
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#65x65
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#127x127
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#129x129
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#255x255
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#257x257
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#511x511
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#513x513
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#1023x1023
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#1025x1025
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#2047x2047
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#15x511
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#127x15
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#129x127
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#511x127
-dEQP-GLES31.functional.fbo.no_attachments.npot_size#2047x1025
-dEQP-GLES31.functional.fbo.no_attachments.multisample#samples0
-dEQP-GLES31.functional.fbo.no_attachments.multisample#samples1
-dEQP-GLES31.functional.fbo.no_attachments.multisample#samples2
-dEQP-GLES31.functional.fbo.no_attachments.multisample#samples3
-dEQP-GLES31.functional.fbo.no_attachments.multisample#samples4
-dEQP-GLES31.functional.fbo.no_attachments.random#0
-dEQP-GLES31.functional.fbo.no_attachments.random#1
-dEQP-GLES31.functional.fbo.no_attachments.random#2
-dEQP-GLES31.functional.fbo.no_attachments.random#3
-dEQP-GLES31.functional.fbo.no_attachments.random#4
-dEQP-GLES31.functional.fbo.no_attachments.random#5
-dEQP-GLES31.functional.fbo.no_attachments.random#6
-dEQP-GLES31.functional.fbo.no_attachments.random#7
-dEQP-GLES31.functional.fbo.no_attachments.random#8
-dEQP-GLES31.functional.fbo.no_attachments.random#9
-dEQP-GLES31.functional.fbo.no_attachments.random#10
-dEQP-GLES31.functional.fbo.no_attachments.random#11
-dEQP-GLES31.functional.fbo.no_attachments.random#12
-dEQP-GLES31.functional.fbo.no_attachments.random#13
-dEQP-GLES31.functional.fbo.no_attachments.random#14
-dEQP-GLES31.functional.fbo.no_attachments.random#15
-dEQP-GLES31.functional.fbo.no_attachments.interaction#256x256ms0_default_128x128ms1
-dEQP-GLES31.functional.fbo.no_attachments.interaction#256x256ms1_default_128x128ms0
-dEQP-GLES31.functional.fbo.no_attachments.interaction#256x256ms0_default_512x512ms2
-dEQP-GLES31.functional.fbo.no_attachments.interaction#256x256ms2_default_128x512ms0
-dEQP-GLES31.functional.fbo.no_attachments.interaction#127x127ms0_default_129x129ms0
-dEQP-GLES31.functional.fbo.no_attachments.interaction#17x512ms4_default_16x16ms2
-dEQP-GLES31.functional.fbo.no_attachments.interaction#2048x2048ms4_default_1x1ms0
-dEQP-GLES31.functional.fbo.no_attachments.interaction#1x1ms0_default_2048x2048ms4
-dEQP-GLES31.functional.fbo.no_attachments.maximums#width
-dEQP-GLES31.functional.fbo.no_attachments.maximums#height
-dEQP-GLES31.functional.fbo.no_attachments.maximums#size
-dEQP-GLES31.functional.fbo.no_attachments.maximums#samples
-dEQP-GLES31.functional.fbo.completeness#no_attachments
-dEQP-GLES31.functional.program_interface_query.buffer_limited_query#resource_name_query
-dEQP-GLES31.functional.program_interface_query.buffer_limited_query#resource_query
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.default_block#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.named_block#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.unnamed_block#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.resource_list.block_array#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.default_block.aggregates#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.named_block.aggregates#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.unnamed_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_size.block_array#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#sampler2D_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#sampler2D_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bool_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bool_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#bvec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#vec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.default_block.aggregates#ivec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bool_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bool_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#bvec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#vec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.named_block.aggregates#ivec3_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.unnamed_block.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.array_stride.block_array.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_cube_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_2d_array_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#isampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#isampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#isampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#usampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#usampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#usampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#usampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#image_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#image_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#image_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#iimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#iimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#iimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#uimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#uimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#uimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.opaque_type#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.array#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.default_block.array#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#int
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#uint
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#bool
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.atomic_counter_buffer_index.named_block#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.block_index#default_block
-dEQP-GLES31.functional.program_interface_query.uniform.block_index#named_block
-dEQP-GLES31.functional.program_interface_query.uniform.block_index#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform.block_index#block_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_cube_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_2d_array_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#isampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#isampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#isampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#usampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#usampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#usampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#usampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#image_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#image_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#image_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#iimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#iimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#iimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#uimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#uimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#uimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.opaque_type#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.opaque_type#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.array#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.array.struct#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.opaque_type#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.array#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.location.default_block.struct.struct#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.named_block#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#int
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#uint
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#bool
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.location.unnamed_block#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.default_block.no_qualifier.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.no_qualifier.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.named_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_row_major.unnamed_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.default_block.no_qualifier.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.no_qualifier.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.matrix#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.row_major.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.matrix#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.aggregates#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.aggregates#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block.column_major.aggregates#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.named_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.matrix_stride.unnamed_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.default_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.named_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.block_array#var
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.uniform.name_length.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_cube_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_2d_array_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#isampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#isampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#isampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#usampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#usampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#usampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#usampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#image_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#image_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#image_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#iimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#iimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#iimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#uimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.aggregates#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.offset.default_block.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.offset.named_block.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.unnamed_block.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.offset.block_array.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.default_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.uniform_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.compute.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.default_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.uniform_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.default_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.uniform_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_2d_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_cube_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_2d_array_shadow
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#isampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#isampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#isampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#usampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#usampler_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#usampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#usampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#sampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#isampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#usampler_2d_ms
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#image_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#image_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#image_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#iimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#iimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#iimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uimage_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uimage_cube
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#uimage_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.types#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#image_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#iimage_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.array#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#sampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#sampler_2d_array
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#sampler_3d
-dEQP-GLES31.functional.program_interface_query.uniform.type.default_block.struct#isampler_2d
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#vec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#ivec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#ivec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#uvec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#uvec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#uvec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#bvec2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#bvec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#bvec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.named_block.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.unnamed_block.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.array#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#bool
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.uniform.type.block_array.struct#vec4
-dEQP-GLES31.functional.program_interface_query.uniform.random#0
-dEQP-GLES31.functional.program_interface_query.uniform.random#1
-dEQP-GLES31.functional.program_interface_query.uniform.random#2
-dEQP-GLES31.functional.program_interface_query.uniform.random#3
-dEQP-GLES31.functional.program_interface_query.uniform.random#4
-dEQP-GLES31.functional.program_interface_query.uniform.random#5
-dEQP-GLES31.functional.program_interface_query.uniform.random#6
-dEQP-GLES31.functional.program_interface_query.uniform.random#7
-dEQP-GLES31.functional.program_interface_query.uniform.random#8
-dEQP-GLES31.functional.program_interface_query.uniform.random#9
-dEQP-GLES31.functional.program_interface_query.uniform.random#10
-dEQP-GLES31.functional.program_interface_query.uniform.random#11
-dEQP-GLES31.functional.program_interface_query.uniform.random#12
-dEQP-GLES31.functional.program_interface_query.uniform.random#13
-dEQP-GLES31.functional.program_interface_query.uniform.random#14
-dEQP-GLES31.functional.program_interface_query.uniform.random#15
-dEQP-GLES31.functional.program_interface_query.uniform.random#16
-dEQP-GLES31.functional.program_interface_query.uniform.random#17
-dEQP-GLES31.functional.program_interface_query.uniform.random#18
-dEQP-GLES31.functional.program_interface_query.uniform.random#19
-dEQP-GLES31.functional.program_interface_query.uniform.random#20
-dEQP-GLES31.functional.program_interface_query.uniform.random#21
-dEQP-GLES31.functional.program_interface_query.uniform.random#22
-dEQP-GLES31.functional.program_interface_query.uniform.random#23
-dEQP-GLES31.functional.program_interface_query.uniform.random#24
-dEQP-GLES31.functional.program_interface_query.uniform.random#25
-dEQP-GLES31.functional.program_interface_query.uniform.random#26
-dEQP-GLES31.functional.program_interface_query.uniform.random#27
-dEQP-GLES31.functional.program_interface_query.uniform.random#28
-dEQP-GLES31.functional.program_interface_query.uniform.random#29
-dEQP-GLES31.functional.program_interface_query.uniform.random#30
-dEQP-GLES31.functional.program_interface_query.uniform.random#31
-dEQP-GLES31.functional.program_interface_query.uniform.random#32
-dEQP-GLES31.functional.program_interface_query.uniform.random#33
-dEQP-GLES31.functional.program_interface_query.uniform.random#34
-dEQP-GLES31.functional.program_interface_query.uniform.random#35
-dEQP-GLES31.functional.program_interface_query.uniform.random#36
-dEQP-GLES31.functional.program_interface_query.uniform.random#37
-dEQP-GLES31.functional.program_interface_query.uniform.random#38
-dEQP-GLES31.functional.program_interface_query.uniform.random#39
-dEQP-GLES31.functional.program_interface_query.uniform_block.resource_list#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.resource_list#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.resource_list#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.resource_list#block_array_single_element
-dEQP-GLES31.functional.program_interface_query.uniform_block.active_variables#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.active_variables#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.active_variables#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#named_block_explicit_binding
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#unnamed_block_explicit_binding
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_binding#block_array_explicit_binding
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_data_size#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_data_size#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.buffer_data_size#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.name_length#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.name_length#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.name_length#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.name_length#block_array_single_element
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.compute#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.compute#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.compute#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_fragment_only_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#resource_list
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#active_variables
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#buffer_binding
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#buffer_data_size
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_compute
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_separable_vertex
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_separable_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_fragment_only_vertex
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_fragment_only_fragment
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.vertex_fragment#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_vertex#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_fragment#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_fragment#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_fragment#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.vertex_fragment#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_vertex#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_fragment#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_vertex_fragment
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_separable_vertex
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_separable_fragment
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.vertex_fragment#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_vertex#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.array#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_fragment.struct#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.vertex_fragment#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.vertex_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_vertex#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_vertex#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_vertex#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_fragment#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.compute#empty
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.vertex_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_vertex#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_vertex#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.vertex_fragment#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.vertex_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.vertex_fragment#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_fragment#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_fragment#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.vertex_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_vertex#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_vertex#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_vertex_fragment
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_separable_vertex
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_separable_fragment
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.vertex_fragment.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.array#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_vertex.struct#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_fragment.array#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_vertex#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_vertex#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_vertex#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_vertex#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_vertex#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_vertex#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.array#mat4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.array#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.named_block#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.unnamed_block#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_struct_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.resource_list.block_array#var_array_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.non_array#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#uvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.types#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bool_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bool_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#bvec3_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#vec4_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.sized.aggregates#ivec2_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.types#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.named_block.unsized.aggregates#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.sized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.unnamed_block.unsized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.sized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_size.block_array.unsized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.non_array#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#uvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.types#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bool_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bool_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#bvec3_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#vec4_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.sized.aggregates#ivec2_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.types#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.named_block.unsized.aggregates#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.sized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.unnamed_block.unsized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.sized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#bvec3_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#bvec3_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#vec4_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#vec4_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#ivec2_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.array_stride.block_array.unsized#ivec2_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.block_index#named_block
-dEQP-GLES31.functional.program_interface_query.buffer_variable.block_index#unnamed_block
-dEQP-GLES31.functional.program_interface_query.buffer_variable.block_index#block_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_row_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.named_block_col_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_row_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.is_row_major.unnamed_block_col_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat2x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat2x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat3x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat4x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.types#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_row_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.named_block_col_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_row_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.no_qualifier#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.column_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.matrix_stride.unnamed_block_col_major.row_major#var_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.named_block.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.unnamed_block.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.name_length.block_array.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.named_block.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.unnamed_block.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.sized#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.offset.block_array.unsized#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.named_block#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.unnamed_block#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_size.block_array#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.named_block#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.unnamed_block#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_struct_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_struct_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.top_level_array_stride.block_array#var_array_array_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#bvec2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#bvec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.array.struct#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.array.struct.struct#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#bvec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.array.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#int
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#bool
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.type.struct.struct.struct#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#0
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#3
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#4
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#6
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#7
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#8
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#10
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#11
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#12
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#14
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#15
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#16
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#17
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#18
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#21
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#23
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#24
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#26
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#28
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#29
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#31
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#32
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#33
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#34
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#35
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#37
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#39
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.resource_list#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.resource_list#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.resource_list#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.resource_list#block_array_single_element
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.active_variables#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.active_variables#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.active_variables#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#named_block_explicit_binding
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#unnamed_block_explicit_binding
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_binding#block_array_explicit_binding
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.name_length#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.name_length#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.name_length#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.name_length#block_array_single_element
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.compute#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.compute#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.compute#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_fragment_only_fragment#block_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler2d#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.sampler.sampler3d#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.ubo#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.ubo#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.ubo#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.ubo#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.ubo#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.ubo#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.ubo#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.ubo#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.ubo#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.ubo#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.ssbo#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.ssbo#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.ssbo#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.ssbo#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.ssbo#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.ssbo#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.ssbo#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.ssbo#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.ssbo#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.ssbo#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.image.image2d#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.image.image2d#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.image.image2d#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.image.image2d#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.image.image2d#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.image.image2d#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.image.image2d#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.image.image2d#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.image.image2d#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.image.image2d#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.image.image3d#vertex_binding_single
-dEQP-GLES31.functional.layout_binding.image.image3d#vertex_binding_max
-dEQP-GLES31.functional.layout_binding.image.image3d#vertex_binding_multiple
-dEQP-GLES31.functional.layout_binding.image.image3d#vertex_binding_array
-dEQP-GLES31.functional.layout_binding.image.image3d#vertex_binding_max_array
-dEQP-GLES31.functional.layout_binding.image.image3d#fragment_binding_single
-dEQP-GLES31.functional.layout_binding.image.image3d#fragment_binding_max
-dEQP-GLES31.functional.layout_binding.image.image3d#fragment_binding_multiple
-dEQP-GLES31.functional.layout_binding.image.image3d#fragment_binding_array
-dEQP-GLES31.functional.layout_binding.image.image3d#fragment_binding_max_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler2d#binding_contradictory_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.sampler.sampler3d#binding_contradictory_array
-dEQP-GLES31.functional.layout_binding.negative.ubo#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.ubo#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.ubo#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.ubo#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.ubo#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.ubo#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.ubo#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.ubo#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.ubo#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.ubo#binding_contradictory_array
-dEQP-GLES31.functional.layout_binding.negative.ssbo#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.ssbo#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.ssbo#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.ssbo#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.ssbo#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.ssbo#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.ssbo#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.ssbo#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.ssbo#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.ssbo#binding_contradictory_array
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.image.image2d#binding_contradictory_array
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#vertex_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#fragment_binding_over_max
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#vertex_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#fragment_binding_neg
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#vertex_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#fragment_binding_over_max_array
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#vertex_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#fragment_binding_neg_array
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#binding_contradictory
-dEQP-GLES31.functional.layout_binding.negative.image.image3d#binding_contradictory_array
diff --git a/tests/tests/deqp/gles31-temporary-failures.txt b/tests/tests/deqp/gles31-temporary-failures.txt
deleted file mode 100644
index c3986eb..0000000
--- a/tests/tests/deqp/gles31-temporary-failures.txt
+++ /dev/null
@@ -1,8941 +0,0 @@
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#ext_geometry_shader
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#ext_gpu_shader5
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#ext_primitive_bounding_box
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#ext_shader_io_blocks
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#ext_tessellation_shader
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#oes_sample_variables
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_directive#oes_shader_multisample_interpolation
-dEQP-GLES31.functional.android_extension_pack.shaders.extension_macros#android_extension_pack_es31a
-dEQP-GLES31.functional.blend_equation_advanced.state_query#blend_equation_getfloat
-dEQP-GLES31.functional.blend_equation_advanced.state_query#blend_equation_getinteger
-dEQP-GLES31.functional.blend_equation_advanced.state_query#blend_equation_getinteger64
-dEQP-GLES31.functional.blend_equation_advanced.state_query#blend_equation_getinteger64i_v
-dEQP-GLES31.functional.blend_equation_advanced.state_query#blend_equation_getintegeri_v
-dEQP-GLES31.functional.compute.basic#copy_image_to_ssbo_large
-dEQP-GLES31.functional.compute.basic#copy_ssbo_to_image_large
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#large_offset
-dEQP-GLES31.functional.compute.indirect_dispatch.gen_in_compute#large_offset_multiple_invocations
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.rgba_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_rgba_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x10_rgba.srgb8_alpha8_astc_10x10_khr_srgb8_alpha8_astc_10x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.rgba_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_rgba_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x5_rgba.srgb8_alpha8_astc_10x5_khr_srgb8_alpha8_astc_10x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.rgba_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_rgba_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x6_rgba.srgb8_alpha8_astc_10x6_khr_srgb8_alpha8_astc_10x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.rgba_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_rgba_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_10x8_rgba.srgb8_alpha8_astc_10x8_khr_srgb8_alpha8_astc_10x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.rgba_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_rgba_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x10_rgba.srgb8_alpha8_astc_12x10_khr_srgb8_alpha8_astc_12x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.rgba_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_rgba_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_12x12_rgba.srgb8_alpha8_astc_12x12_khr_srgb8_alpha8_astc_12x12_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.rgba_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_rgba_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_4x4_rgba.srgb8_alpha8_astc_4x4_khr_srgb8_alpha8_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.rgba_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_rgba_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x4_rgba.srgb8_alpha8_astc_5x4_khr_srgb8_alpha8_astc_5x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_rgba_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.rgba_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_rgba_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_5x5_rgba.srgb8_alpha8_astc_5x5_khr_srgb8_alpha8_astc_5x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_rgba_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.rgba_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_rgba_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_rgba_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x5_rgba.srgb8_alpha8_astc_6x5_khr_srgb8_alpha8_astc_6x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.rgba_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_rgba_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_6x6_rgba.srgb8_alpha8_astc_6x6_khr_srgb8_alpha8_astc_6x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_rgba_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.rgba_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_rgba_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x5_rgba.srgb8_alpha8_astc_8x5_khr_srgb8_alpha8_astc_8x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.rgba_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_rgba_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x6_rgba.srgb8_alpha8_astc_8x6_khr_srgb8_alpha8_astc_8x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.rgba_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_rgba_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_astc_8x8_rgba.srgb8_alpha8_astc_8x8_khr_srgb8_alpha8_astc_8x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.r11_eac_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_r11.signed_r11_eac_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_signed_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_signed_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.rg11_eac_signed_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_signed_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_signed_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_eac_rg11.signed_rg11_eac_signed_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_rgba8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_rgba8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_rgba8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_srgb8_alpha8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_srgb8_alpha8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.rgba8_etc2_eac_srgb8_alpha8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_rgba8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_rgba8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_rgba8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_srgb8_alpha8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_srgb8_alpha8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_eac_rgba.srgb8_alpha8_etc2_eac_srgb8_alpha8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.rgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_rgb8_punchthrough_alpha1_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgba.srgb8_punchthrough_alpha1_etc2_srgb8_punchthrough_alpha1_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_rgb8_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_rgb8_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_rgb8_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_srgb8_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_srgb8_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.rgb8_etc2_srgb8_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_rgb8_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_rgb8_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_rgb8_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_srgb8_etc2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_srgb8_etc2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.compressed.viewclass_etc2_rgb.srgb8_etc2_srgb8_etc2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rg11_eac_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_rgba_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_signed_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32f_srgb8_alpha8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_rgba_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_signed_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32i_srgb8_alpha8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_rgba_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_signed_rg11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_10x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x10_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_12x12_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_4x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x4_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_5x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_6x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x5_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x6_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_astc_8x8_khr#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba32ui_srgb8_alpha8_etc2_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba8_etc2_eac_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x10_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_10x8_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x10_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_12x12_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_4x4_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x4_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_5x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_6x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.rgba_astc_8x8_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.signed_rg11_eac_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x10_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_10x8_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x10_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_12x12_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_4x4_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x4_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_5x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_6x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x5_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x6_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_astc_8x8_khr_rgba32ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_128_bits_mixed.srgb8_alpha8_etc2_eac_rgba32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rg32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.r11_eac_rgba16ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32f_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32i_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rg32ui_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16f_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16i_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.rgba16ui_signed_r11_eac#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rg32ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.mixed.viewclass_64_bits_mixed.signed_r11_eac_rgba16ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32f_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32i_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_128_bits.rgba32ui_rgba32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16f_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16i_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.r16ui_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8i_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8_snorm_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_r16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_16_bits.rg8ui_rg8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_rgb8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8i_srgb8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_rgb8ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_rgb8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_snorm_srgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8_srgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_rgb8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.rgb8ui_srgb8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_rgb8ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_24_bits.srgb8_srgb8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r11f_g11f_b10f_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32f_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32i_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16f_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16i_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rg16ui_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb10_a2ui_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgb9_e5_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8i_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_snorm_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.rgba8ui_srgb8_alpha8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r11f_g11f_b10f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_r32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16f#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rg16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb10_a2ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgb9_e5#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_rgba8ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.srgb8_alpha8_srgb8_alpha8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16f_rgb16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16i_rgb16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_48_bits.rgb16ui_rgb16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32f_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32i_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rg32ui_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16f_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16i_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rg32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_64_bits.rgba16ui_rgba16ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#renderbuffer_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8i_r8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#renderbuffer_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8i#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8_snorm#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#renderbuffer_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_r8ui#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8_snorm_r8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#renderbuffer_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#renderbuffer_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#renderbuffer_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#renderbuffer_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8_snorm#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_array_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_array_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_array_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_array_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture2d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture3d_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture3d_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture3d_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8#texture3d_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#cubemap_to_renderbuffer
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#renderbuffer_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_8_bits.r8ui_r8ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32f_rgb32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32i_rgb32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32f#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32i#texture3d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#cubemap_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#cubemap_to_texture2d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#cubemap_to_texture2d_array
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#cubemap_to_texture3d
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#texture2d_array_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#texture2d_to_cubemap
-dEQP-GLES31.functional.copy_image.non_compressed.viewclass_96_bits.rgb32ui_rgb32ui#texture3d_to_cubemap
-dEQP-GLES31.functional.debug.error_filters#case_0
-dEQP-GLES31.functional.debug.error_filters#case_16
-dEQP-GLES31.functional.debug.error_filters#case_18
-dEQP-GLES31.functional.debug.error_filters#case_19
-dEQP-GLES31.functional.debug.error_filters#case_20
-dEQP-GLES31.functional.debug.error_filters#case_26
-dEQP-GLES31.functional.debug.error_filters#case_3
-dEQP-GLES31.functional.debug.error_filters#case_8
-dEQP-GLES31.functional.debug.error_groups#case_0
-dEQP-GLES31.functional.debug.error_groups#case_10
-dEQP-GLES31.functional.debug.error_groups#case_11
-dEQP-GLES31.functional.debug.error_groups#case_13
-dEQP-GLES31.functional.debug.error_groups#case_15
-dEQP-GLES31.functional.debug.error_groups#case_3
-dEQP-GLES31.functional.debug.error_groups#case_8
-dEQP-GLES31.functional.debug.error_groups#case_9
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#invalidate_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#invalidate_sub_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#clear
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#draw_buffers
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#framebuffer_texture2d
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#framebuffer_texture_layer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#invalidate_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#invalidate_sub_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#read_buffer
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#program_binary
-dEQP-GLES31.functional.debug.negative_coverage.get_error.shader#program_parameteri
-dEQP-GLES31.functional.debug.negative_coverage.get_error.state#get_internalformativ
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedteximage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage2d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#compressedtexsubimage3d_max_level
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#generatemipmap
-dEQP-GLES31.functional.debug.negative_coverage.get_error.texture#teximage3d
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#invalidate_framebuffer
-dEQP-GLES31.functional.debug.negative_coverage.log.buffer#invalidate_sub_framebuffer
-dEQP-GLES31.functional.debug.object_labels#buffer_limited_query
-dEQP-GLES31.functional.debug.object_labels#clearing
-dEQP-GLES31.functional.debug.object_labels#program_pipeline
-dEQP-GLES31.functional.debug.object_labels#query_length_only
-dEQP-GLES31.functional.debug.object_labels#specify_with_length
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_advanced_blend_eq_buffer_advanced_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_advanced_blend_eq_buffer_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_advanced_blend_eq_buffer_separate_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_blend_func_buffer_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_blend_func_buffer_separate_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_color_mask_buffer_color_mask
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_separate_blend_func_buffer_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_common#common_separate_blend_func_buffer_separate_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_enable_buffer_enable
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_disable_buffer_disable
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_disable_buffer_enable
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_enable_buffer_disable
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_blend_eq_buffer_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_blend_eq_buffer_separate_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_blend_eq_buffer_advanced_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_separate_blend_eq_buffer_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_separate_blend_eq_buffer_separate_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_separate_blend_eq_buffer_advanced_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_advanced_blend_eq_buffer_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_advanced_blend_eq_buffer_separate_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_advanced_blend_eq_buffer_advanced_blend_eq
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_blend_func_buffer_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_blend_func_buffer_separate_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_separate_blend_func_buffer_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_separate_blend_func_buffer_separate_blend_func
-dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed#common_color_mask_buffer_color_mask
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#0
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#1
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#14
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#15
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#16
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#17
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#2
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#5
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#6
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#7
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_implementation_draw_buffers#9
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#12
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#13
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#15
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#16
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#2
-dEQP-GLES31.functional.draw_buffers_indexed.random.max_required_draw_buffers#7
-dEQP-GLES31.functional.draw_indirect.negative#command_offset_not_in_buffer_unsigned32_wrap
-dEQP-GLES31.functional.fbo.no_attachments.maximums#all
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_0_end_0
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_0_end_1
-dEQP-GLES31.functional.geometry_shading.emit#line_strip_emit_0_end_2
-dEQP-GLES31.functional.geometry_shading.emit#points_emit_0_end_0
-dEQP-GLES31.functional.geometry_shading.emit#points_emit_0_end_1
-dEQP-GLES31.functional.geometry_shading.emit#points_emit_0_end_2
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_0_end_0
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_0_end_1
-dEQP-GLES31.functional.geometry_shading.emit#triangle_strip_emit_0_end_2
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_atomic_counter_buffers
-dEQP-GLES31.functional.geometry_shading.query#max_geometry_atomic_counters
-dEQP-GLES31.functional.multisample.default_framebuffer#sample_mask_sum_of_inverses
-dEQP-GLES31.functional.multisample.default_framebuffer#sample_position
-dEQP-GLES31.functional.primitive_bounding_box.call_order#bbox_first_viewport_second
-dEQP-GLES31.functional.primitive_bounding_box.call_order#viewport_first_bbox_second
-dEQP-GLES31.functional.primitive_bounding_box.clear#full_clear_with_triangles
-dEQP-GLES31.functional.primitive_bounding_box.clear#full_clear_with_triangles_per_primitive_bbox
-dEQP-GLES31.functional.primitive_bounding_box.clear#scissored_clear_with_triangles
-dEQP-GLES31.functional.primitive_bounding_box.clear#scissored_clear_with_triangles_per_primitive_bbox
-dEQP-GLES31.functional.primitive_bounding_box.clear#scissored_full_clear_with_triangles
-dEQP-GLES31.functional.primitive_bounding_box.clear#scissored_full_clear_with_triangles_per_primitive_bbox
-dEQP-GLES31.functional.primitive_bounding_box.depth.builtin_depth#per_primitive_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.depth.builtin_depth#per_primitive_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.depth.user_defined_depth#per_primitive_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.depth.user_defined_depth#per_primitive_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_primitive.vertex_tessellation_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_primitive.vertex_tessellation_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.lines.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.points.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.global_state.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.triangles.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#default_framebuffer_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_equal
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_larger
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_draw.vertex_tessellation_geometry_fragment#fbo_bbox_smaller
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_primitive.vertex_tessellation_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_primitive.vertex_tessellation_fragment#fbo
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#default_framebuffer
-dEQP-GLES31.functional.primitive_bounding_box.wide_lines.tessellation_set_per_primitive.vertex_tessellation_geometry_fragment#fbo
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_separable_geometry
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_geo_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_geo_fragment_only_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_geo_fragment_only_geo
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_geo_fragment_only_vertex
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment_only_fragment
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment_only_geo
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment_only_tess_ctrl
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment_only_tess_eval
-dEQP-GLES31.functional.program_interface_query.atomic_counter_buffer#referenced_by_vertex_tess_geo_fragment_only_vertex
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#22
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#30
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#36
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#40
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#41
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#42
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#44
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#45
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#47
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#48
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#49
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#51
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#52
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#54
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#55
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#56
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#58
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#59
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#61
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#62
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#63
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#65
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#66
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#67
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#68
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#70
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#72
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#73
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#75
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#76
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#77
-dEQP-GLES31.functional.program_interface_query.buffer_variable.random#79
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.compute.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_fragment.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_unsized_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_geometry.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_tess_ctrl.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_tess_eval.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.separable_vertex.named_block#float_unsized_struct_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_geo.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_geo_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_geo.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.named_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.named_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.named_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.buffer_variable.referenced_by.vertex_tess_geo_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.interface_blocks.patch_in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_tess_eval#patch_var
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_tess_eval#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_tess_eval#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.array_size.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.interface_blocks.patch_in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_fragment#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_tess_eval#patch_var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_tess_eval#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_tess_eval#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_input.is_per_patch.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.block_array#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.in.unnamed_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.block_array#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block_explicit_location#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.named_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.interface_blocks.patch_in.unnamed_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_fragment#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_geometry#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_ctrl#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#patch_var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_input.location.separable_tess_eval#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.interface_blocks.patch_in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_tess_eval#patch_var
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_tess_eval#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_tess_eval#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.name_length.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_separable_geometry
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_separable_tess_eval_patch_in
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_vertex_geo_fragment
-dEQP-GLES31.functional.program_interface_query.program_input.referenced_by#referenced_by_vertex_tess_geo_fragment
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.compute#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.interface_blocks.patch_in.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_geometry#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_ctrl#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_eval#empty
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_eval#patch_var
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_eval#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_eval#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_input.resource_list.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.in.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block_explicit_location.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.named_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.interface_blocks.patch_in.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_geometry#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_ctrl#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_array#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#float
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#int
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var_struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#uint
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#uvec4
-dEQP-GLES31.functional.program_interface_query.program_input.type.separable_tess_eval.patch_var#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.interface_blocks.patch_out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_geometry#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_geometry#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_ctrl#patch_var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_ctrl#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_ctrl#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_eval#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.array_size.separable_tess_eval#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.interface_blocks.patch_out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_geometry#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_geometry#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_ctrl#patch_var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_ctrl#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_ctrl#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_eval#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_tess_eval#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_vertex#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.separable_vertex#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.vertex_fragment#var
-dEQP-GLES31.functional.program_interface_query.program_output.is_per_patch.vertex_fragment#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.block_array#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block_explicit_location#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.named_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.out.unnamed_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.block_array#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block_explicit_location#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.named_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.interface_blocks.patch_out.unnamed_block#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_geometry#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#patch_var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_ctrl#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var_array_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_tess_eval#var_struct_explicit_location
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.location.separable_vertex#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.interface_blocks.patch_out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_geometry#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_geometry#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_ctrl#patch_var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_ctrl#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_ctrl#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_eval#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.name_length.separable_tess_eval#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_separable_geometry
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_separable_tess_ctrl_patch_out
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_vertex_geo_fragment
-dEQP-GLES31.functional.program_interface_query.program_output.referenced_by#referenced_by_vertex_tess_geo_fragment
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.block_array#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.block_array#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.block_array#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block_explicit_location#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block_explicit_location#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block_explicit_location#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.named_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.unnamed_block#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.unnamed_block#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.interface_blocks.patch_out.unnamed_block#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_geometry#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_geometry#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_geometry#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_geometry#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_ctrl#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_ctrl#patch_var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_ctrl#patch_var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_ctrl#patch_var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_ctrl#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_eval#empty
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_eval#var
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_eval#var_array
-dEQP-GLES31.functional.program_interface_query.program_output.resource_list.separable_tess_eval#var_struct
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.block_array.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block_explicit_location.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.named_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.out.unnamed_block.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.block_array.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block_explicit_location.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.named_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.interface_blocks.patch_out.unnamed_block.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_geometry.struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var_struct#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_ctrl.patch_var#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.array#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#ivec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat2x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat2x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat4x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#mat4x3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#uvec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#vec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.basic_type#vec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#float
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#int
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#uint
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.program_output.type.separable_tess_eval.struct#vec3
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_geometry#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_geometry#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.separable_geometry#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_geo#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_geo#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_geo#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_geo_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_geo#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_geo#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_geo#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.shader_storage_block.referenced_by.vertex_tess_geo_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_geometry#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_geometry#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_geometry#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_geometry#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_geometry#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_tess_eval#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_tess_eval#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.separable_vertex#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.array_size.vertex_tess_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_geometry#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_geometry#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_geometry#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_geometry#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_geometry#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_tess_eval#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.separable_vertex#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.name_length.vertex_tess_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_geometry#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_geometry#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_geometry#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_geometry#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_geometry#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_tess_eval#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.separable_vertex#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_geo_fragment#builtin_gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_geo_fragment#default_block_array
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_geo_fragment#default_block_array_element
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_geo_fragment#default_block_basic_type
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.resource_list.vertex_tess_geo_fragment#default_block_struct_member
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.builtin#gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_geometry.whole_array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_tess_eval.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.separable_vertex.struct#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#ivec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#ivec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat2x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat2x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat3x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat4x2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#mat4x3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#uvec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#uvec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#vec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_fragment.struct#vec4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.builtin#gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_geo_fragment.whole_array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_fragment.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.array#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.basic_type#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.builtin#gl_position
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.struct#vec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#float
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#int
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#ivec3
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#mat3x4
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#uint
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#uvec2
-dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.type.vertex_tess_geo_fragment.whole_array#vec3
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_geometry#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_geometry#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.separable_geometry#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_geo#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_geo#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_geo#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_geo_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_fragment#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_fragment#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_geo#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_geo#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_geo#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_ctrl#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_tess_eval#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_vertex#block_array
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_vertex#named_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment_only_vertex#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform_block.referenced_by.vertex_tess_geo_fragment#unnamed_block
-dEQP-GLES31.functional.program_interface_query.uniform.random#40
-dEQP-GLES31.functional.program_interface_query.uniform.random#41
-dEQP-GLES31.functional.program_interface_query.uniform.random#42
-dEQP-GLES31.functional.program_interface_query.uniform.random#44
-dEQP-GLES31.functional.program_interface_query.uniform.random#45
-dEQP-GLES31.functional.program_interface_query.uniform.random#47
-dEQP-GLES31.functional.program_interface_query.uniform.random#48
-dEQP-GLES31.functional.program_interface_query.uniform.random#49
-dEQP-GLES31.functional.program_interface_query.uniform.random#51
-dEQP-GLES31.functional.program_interface_query.uniform.random#52
-dEQP-GLES31.functional.program_interface_query.uniform.random#54
-dEQP-GLES31.functional.program_interface_query.uniform.random#55
-dEQP-GLES31.functional.program_interface_query.uniform.random#56
-dEQP-GLES31.functional.program_interface_query.uniform.random#58
-dEQP-GLES31.functional.program_interface_query.uniform.random#59
-dEQP-GLES31.functional.program_interface_query.uniform.random#61
-dEQP-GLES31.functional.program_interface_query.uniform.random#63
-dEQP-GLES31.functional.program_interface_query.uniform.random#65
-dEQP-GLES31.functional.program_interface_query.uniform.random#66
-dEQP-GLES31.functional.program_interface_query.uniform.random#68
-dEQP-GLES31.functional.program_interface_query.uniform.random#70
-dEQP-GLES31.functional.program_interface_query.uniform.random#72
-dEQP-GLES31.functional.program_interface_query.uniform.random#73
-dEQP-GLES31.functional.program_interface_query.uniform.random#75
-dEQP-GLES31.functional.program_interface_query.uniform.random#77
-dEQP-GLES31.functional.program_interface_query.uniform.random#79
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_array_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_array_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_struct_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.uniform_block#float_struct_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.separable_geometry.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_geo.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_geo_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_geo.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_ctrl.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_tess_eval.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.block_array#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.block_array#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.block_array#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#atomic_uint
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#atomic_uint_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#sampler
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#sampler_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.default_block#sampler_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment_only_vertex.unnamed_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.uniform_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.uniform_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.uniform_block#float_struct
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.unnamed_block#float
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.unnamed_block#float_array
-dEQP-GLES31.functional.program_interface_query.uniform.referenced_by_shader.vertex_tess_geo_fragment.unnamed_block#float_struct
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_16_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_renderbuffer_samples_16_discard
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_16_color
-dEQP-GLES31.functional.sample_shading.min_sample_shading#multisample_texture_samples_16_discard
-dEQP-GLES31.functional.separate_shader.validation.io_blocks#mismatch_different_member_interpolation
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_qualifier_vertex_centroid_fragment_flat
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_qualifier_vertex_flat_fragment_centroid
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_qualifier_vertex_flat_fragment_none
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_qualifier_vertex_flat_fragment_smooth
-dEQP-GLES31.functional.separate_shader.validation.varying#mismatch_qualifier_vertex_smooth_fragment_flat
-dEQP-GLES31.functional.shaders.arrays.invalid#constructor_c_style2_fragment
-dEQP-GLES31.functional.shaders.arrays.invalid#constructor_c_style2_vertex
-dEQP-GLES31.functional.shaders.arrays.invalid#constructor_c_style4_fragment
-dEQP-GLES31.functional.shaders.arrays.invalid#constructor_c_style4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#bvec3_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#bvec3_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#int_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#int_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#ivec3_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#ivec3_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#struct_5x5x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#struct_5x5x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#vec3_1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.explicit_to_implicit#vec3_1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#bool_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#bool_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#bvec3_3x1_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#bvec3_3x1_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#float_3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#float_3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#int_2x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#int_2x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#ivec3_3x1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#ivec3_3x1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x2_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x2_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x3x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x3x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#mat3_3x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#struct_5x5x4_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#struct_5x5x4_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#vec3_1x3_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.assignment.implicit_to_implicit#vec3_1x3_vertex
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#empty_declaration_without_var_name_fragment
-dEQP-GLES31.functional.shaders.arrays_of_arrays.invalid#empty_declaration_without_var_name_vertex
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_atomic_counter_buffer_size
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_combined_atomic_counter_buffers
-dEQP-GLES31.functional.shaders.builtin_constants.core#max_vertex_atomic_counter_buffers
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_patch_vertices
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_control_input_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_control_output_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_control_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_control_total_output_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_control_uniform_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_evaluation_input_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_evaluation_output_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_evaluation_texture_image_units
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_evaluation_uniform_components
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_gen_level
-dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader#max_tess_patch_components
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.asin.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan2.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atan.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.cos.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.mix.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.modf#highp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.modf#lowp_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.modf#mediump_compute
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.lowp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.lowp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.lowp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.lowp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.refract.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.sin.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.highp_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.highp_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.highp_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tanh.highp_compute#vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.mediump_compute#scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.mediump_compute#vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.mediump_compute#vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.tan.mediump_compute#vec4
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.add#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.div#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.mul#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.input_before_literal.sub#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.add#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.div#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.mul#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.arithmetic.literal_before_input.sub#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater_or_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.greater#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less_or_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.less#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.input_before_literal.not_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater_or_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.greater#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less_or_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.less#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec2_to_uvec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec2_to_uvec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec2_to_vec2_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec2_to_vec2_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec3_to_uvec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec3_to_uvec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec3_to_vec3_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec3_to_vec3_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec4_to_uvec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec4_to_uvec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec4_to_vec4_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#ivec4_to_vec4_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.comparisons.literal_before_input.not_equal#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec2_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec3_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uint_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.invalid.variables#ivec4_to_uint_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_in_parens#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.literal_before_paren_expr.input_outside_parens#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_in_parens#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_float_fragment
-dEQP-GLES31.functional.shaders.implicit_conversions.parenthesized_expressions.paren_expr_before_literal.input_outside_parens#uint_to_float_vertex
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_array_size_mismatch
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_block_array_size_mismatch
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#input_no_declaration
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#output_no_declaration
-dEQP-GLES31.functional.shaders.linkage.geometry.varying.rules#unspecified_output_primitive_num_vertices
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_block_array_size
-dEQP-GLES31.functional.shaders.linkage.io_block#mismatch_member_name
-dEQP-GLES31.functional.shaders.linkage.io_block#missing_output_block
-dEQP-GLES31.functional.shaders.linkage.io_block#with_and_without_instance_name
-dEQP-GLES31.functional.shaders.linkage.shader_storage_block#ambiguous_variable_name_3
-dEQP-GLES31.functional.shaders.linkage.tessellation_geometry.varying.rules#no_output_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#input_no_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#internal_no_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#output_no_declaration
-dEQP-GLES31.functional.shaders.linkage.tessellation.varying.rules#per_patch_qualifier_mismatch_2
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#interpolate_constant
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#interpolate_global
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#interpolate_local
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#interpolate_struct_member
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#vec4_crop_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#vec4_identity_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative#vec4_mixed_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.array_element#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#default_framebuffer
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.at_sample_position#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.centroid_qualifier#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#interpolate_constant
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#interpolate_global
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#interpolate_local
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#interpolate_struct_member
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#vec4_crop_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#vec4_identity_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.negative#vec4_mixed_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.no_qualifiers#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_rbo_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_offset.sample_qualifier#multisample_texture_16
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#interpolate_constant
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#interpolate_global
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#interpolate_local
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#interpolate_struct_member
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#vec4_crop_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#vec4_identity_swizzle
-dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_sample.negative#vec4_mixed_swizzle
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#singlesample_rbo
-dEQP-GLES31.functional.shaders.sample_variables.num_samples#singlesample_texture
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_id#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_sample#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_rbo_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_rbo_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_rbo_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_rbo_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bit_count_per_two_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#multisample_texture_1
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#multisample_texture_2
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_sample#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#multisample_texture_4
-dEQP-GLES31.functional.shaders.sample_variables.sample_mask_in.bits_unique_per_two_samples#multisample_texture_8
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#default_framebuffer
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_rbo_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.correctness#multisample_texture_16
-dEQP-GLES31.functional.shaders.sample_variables.sample_pos.distribution#multisample_texture_16
-dEQP-GLES31.functional.shaders.uniform_block.invalid#double_underscore_block_name_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#double_underscore_block_name_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#double_underscore_instance_name_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#double_underscore_instance_name_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#invalid_identifier_block_name_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#invalid_identifier_block_name_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#invalid_identifier_instance_name_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#invalid_identifier_instance_name_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#repeated_block_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#repeated_block_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#too_long_block_name_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#too_long_block_name_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#global_layout_std430_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#global_layout_std430_vertex
-dEQP-GLES31.functional.shaders.uniform_block.invalid#structure_definition_fragment
-dEQP-GLES31.functional.shaders.uniform_block.invalid#structure_definition_vertex
-dEQP-GLES31.functional.shaders.uniform_block.valid#member_layout_all_8_times_fragment
-dEQP-GLES31.functional.shaders.uniform_block.valid#member_layout_all_8_times_vertex
-dEQP-GLES31.functional.shaders.uniform_block.valid#member_layout_all_fragment
-dEQP-GLES31.functional.shaders.uniform_block.valid#member_layout_all_vertex
-dEQP-GLES31.functional.shaders.uniform_block.valid#struct_member_layout_all_8_times_fragment
-dEQP-GLES31.functional.shaders.uniform_block.valid#struct_member_layout_all_8_times_vertex
-dEQP-GLES31.functional.shaders.uniform_block.valid#struct_member_layout_all_fragment
-dEQP-GLES31.functional.shaders.uniform_block.valid#struct_member_layout_all_vertex
-dEQP-GLES31.functional.state_query.indexed#blend_equation_advanced_getinteger64i_v
-dEQP-GLES31.functional.state_query.indexed#blend_equation_advanced_getintegeri_v
-dEQP-GLES31.functional.state_query.indexed#blend_equation_getinteger64i_v
-dEQP-GLES31.functional.state_query.indexed#blend_equation_getintegeri_v
-dEQP-GLES31.functional.state_query.integer#max_fragment_uniform_components_getfloat
-dEQP-GLES31.functional.state_query.integer#max_fragment_uniform_components_getinteger
-dEQP-GLES31.functional.state_query.integer#max_fragment_uniform_components_getinteger64
-dEQP-GLES31.functional.state_query.program_pipeline#info_log
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_array#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_array#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample_array#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample_array#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_3d#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_3d#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#alpha_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#alpha_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#blue_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#blue_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#compressed_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#depth_float
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#depth_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#depth_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#depth_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#green_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#green_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#height_float
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#height_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#red_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#red_type_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#samples_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#shared_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#stencil_size_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#width_float
-dEQP-GLES31.functional.state_query.texture_level.texture_buffer#width_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_cube_array#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_cube_array#internal_format_integer
-dEQP-GLES31.functional.state_query.texture_level.texture_cube_map#internal_format_float
-dEQP-GLES31.functional.state_query.texture_level.texture_cube_map#internal_format_integer
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_buffer_getboolean
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_buffer_getintegeri
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_buffer_getintegeri64
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_offset_getboolean
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_offset_getintegeri
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_offset_getintegeri64
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_stride_getboolean
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_stride_getintegeri
-dEQP-GLES31.functional.state_query.vertex_attribute_binding.indexed#vertex_binding_stride_getintegeri64
-dEQP-GLES31.functional.synchronization.in_invocation#ssbo_alias_overwrite
-dEQP-GLES31.functional.tessellation.common_edge#quads_equal_spacing_precise
-dEQP-GLES31.functional.tessellation.common_edge#quads_fractional_even_spacing_precise
-dEQP-GLES31.functional.tessellation.common_edge#quads_fractional_odd_spacing_precise
-dEQP-GLES31.functional.tessellation.common_edge#triangles_equal_spacing_precise
-dEQP-GLES31.functional.tessellation.common_edge#triangles_fractional_even_spacing_precise
-dEQP-GLES31.functional.tessellation.common_edge#triangles_fractional_odd_spacing_precise
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_quads_equal_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_quads_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_quads_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_triangles_equal_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_triangles_fractional_even_spacing
-dEQP-GLES31.functional.tessellation.misc_draw#fill_cover_triangles_fractional_odd_spacing
-dEQP-GLES31.functional.tessellation.shader_input_output#barrier
-dEQP-GLES31.functional.tessellation.state_query#is_per_patch
-dEQP-GLES31.functional.tessellation.state_query#max_tess_control_uniform_components
-dEQP-GLES31.functional.tessellation.state_query#max_tess_evaluation_uniform_components
-dEQP-GLES31.functional.tessellation.user_defined_io.negative#per_patch_array_of_structs
-dEQP-GLES31.functional.tessellation.user_defined_io.negative#per_patch_structs_containing_arrays
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_implicit#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_implicit#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_implicit#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_query#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_query#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_query#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_shader_builtin#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_shader_builtin#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block_array.vertex_io_array_size_shader_builtin#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_implicit#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_implicit#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_implicit#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_query#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_query#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_query#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_shader_builtin#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_shader_builtin#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_patch_block.vertex_io_array_size_shader_builtin#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_implicit#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_implicit#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_implicit#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_query#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_query#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_query#triangles
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_shader_builtin#isolines
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_shader_builtin#quads
-dEQP-GLES31.functional.tessellation.user_defined_io.per_vertex.vertex_io_array_size_shader_builtin#triangles
-dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.incomplete#mipmap_incomplete
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_data_store_binding_float
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_data_store_binding_integer
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_offset_float
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_offset_integer
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_size_float
-dEQP-GLES31.functional.texture.texture_buffer.state_query#texture_buffer_size_integer
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#linear_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#linear_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#gather_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8#gather_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#linear_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#linear_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#gather_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.srgb8_alpha8#gather_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.r16ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.r16ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.r32ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.r32ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rg16ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rg16ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rg32ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rg32ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgb16ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgb16ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgb32ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgb32ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgba16ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgba16ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgba32ui#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.rgba32ui#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.stencil_index8#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.stencil_index8#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_stencil#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_stencil#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.depth32f_stencil8_sample_stencil#nearest_size_pot
-dEQP-GLES31.functional.texture.border_clamp.formats.depth32f_stencil8_sample_stencil#nearest_size_npot
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#nearest_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#nearest_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#linear_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#linear_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#gather_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_etc2#gather_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#nearest_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#nearest_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#linear_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#linear_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#gather_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_punchthrough_alpha1_etc2#gather_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#nearest_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#nearest_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#linear_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#linear_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#gather_size_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.formats.compressed_srgb8_alpha8_etc2_eac#gather_size_not_tile_multiple
-dEQP-GLES31.functional.texture.border_clamp.range_clamp#nearest_int_color
-dEQP-GLES31.functional.texture.border_clamp.range_clamp#nearest_uint_color
-dEQP-GLES31.functional.texture.border_clamp.range_clamp#nearest_uint_stencil
-dEQP-GLES31.functional.texture.border_clamp.range_clamp#nearest_float_depth_uint_stencil_sample_stencil
-dEQP-GLES31.functional.texture.border_clamp.range_clamp#nearest_unorm_depth_uint_stencil_sample_stencil
-dEQP-GLES31.functional.texture.border_clamp.sampler#uint_color
-dEQP-GLES31.functional.texture.border_clamp.sampler#uint_stencil
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_clamp_to_edge_t_clamp_to_border_pot
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_clamp_to_edge_t_clamp_to_border_npot
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_repeat_t_clamp_to_border_pot
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_repeat_t_clamp_to_border_npot
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_mirrored_repeat_t_clamp_to_border_pot
-dEQP-GLES31.functional.texture.border_clamp.per_axis_wrap_mode.texture_2d.uint_stencil.nearest#s_mirrored_repeat_t_clamp_to_border_npot
-dEQP-GLES31.functional.texture.border_clamp.unused_channels#stencil_index8
-dEQP-GLES31.functional.texture.border_clamp.unused_channels#depth32f_stencil8_sample_stencil
-dEQP-GLES31.functional.texture.border_clamp.unused_channels#depth24_stencil8_sample_stencil
-dEQP-GLES31.functional.ubo.random.all_per_block_buffers#41
-dEQP-GLES31.functional.uniform_location.negative#atomic_fragment
-dEQP-GLES31.functional.uniform_location.negative#atomic_vertex
-dEQP-GLES31.functional.vertex_attribute_binding.negative#bind_vertex_buffer_large_stride
-dEQP-GLES31.functional.vertex_attribute_binding.negative#bind_vertex_buffer_negative_offset
-dEQP-GLES31.functional.vertex_attribute_binding.negative#bind_vertex_buffer_negative_stride
diff --git a/tests/tests/display/src/android/display/cts/DisplayTest.java b/tests/tests/display/src/android/display/cts/DisplayTest.java
index 112710e..1f9f8d1 100644
--- a/tests/tests/display/src/android/display/cts/DisplayTest.java
+++ b/tests/tests/display/src/android/display/cts/DisplayTest.java
@@ -17,6 +17,7 @@
 package android.display.cts;
 
 import android.app.Presentation;
+import android.app.UiAutomation;
 import android.content.Context;
 import android.graphics.Color;
 import android.graphics.PixelFormat;
@@ -26,17 +27,21 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
-import android.test.AndroidTestCase;
+import android.os.ParcelFileDescriptor;
+import android.test.InstrumentationTestCase;
 import android.util.DisplayMetrics;
 import android.view.Display;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.WindowManager;
 
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Scanner;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
-public class DisplayTest extends AndroidTestCase {
+public class DisplayTest extends InstrumentationTestCase {
     // The CTS package brings up an overlay display on the target device (see AndroidTest.xml).
     // The overlay display parameters must match the ones defined there which are
     // 181x161/214 (wxh/dpi).  It only matters that these values are different from any real
@@ -54,6 +59,7 @@
 
     private DisplayManager mDisplayManager;
     private WindowManager mWindowManager;
+    private Context mContext;
 
     // To test display mode switches.
     private TestPresentation mPresentation;
@@ -61,10 +67,39 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+        mContext = getInstrumentation().getContext();
         mDisplayManager = (DisplayManager)mContext.getSystemService(Context.DISPLAY_SERVICE);
         mWindowManager = (WindowManager)mContext.getSystemService(Context.WINDOW_SERVICE);
     }
 
+    private void enableAppOps() {
+        StringBuilder cmd = new StringBuilder();
+        cmd.append("appops set ");
+        cmd.append(getInstrumentation().getContext().getPackageName());
+        cmd.append(" android:system_alert_window allow");
+        getInstrumentation().getUiAutomation().executeShellCommand(cmd.toString());
+
+        StringBuilder query = new StringBuilder();
+        query.append("appops get ");
+        query.append(getInstrumentation().getContext().getPackageName());
+        query.append(" android:system_alert_window");
+        String queryStr = query.toString();
+
+        String result = "No operations.";
+        while (result.contains("No operations")) {
+            ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation().executeShellCommand(
+                    queryStr);
+            InputStream inputStream = new FileInputStream(pfd.getFileDescriptor());
+            result = convertStreamToString(inputStream);
+        }
+    }
+
+    private String convertStreamToString(InputStream is) {
+        try (java.util.Scanner s = new Scanner(is).useDelimiter("\\A")) {
+            return s.hasNext() ? s.next() : "";
+        }
+    }
+
     private boolean isSecondarySize(Display display) {
         final Point p = new Point();
         display.getSize(p);
@@ -209,6 +244,7 @@
      * Tests that mode switch requests are correctly executed.
      */
     public void testModeSwitch() throws Exception {
+        enableAppOps();
         final Display display = getSecondaryDisplay(mDisplayManager.getDisplays());
         Display.Mode[] modes = display.getSupportedModes();
         assertEquals(2, modes.length);
@@ -241,7 +277,7 @@
             @Override
             public void run() {
                 mPresentation = new TestPresentation(
-                        getContext(), display, newMode.getModeId());
+                        getInstrumentation().getContext(), display, newMode.getModeId());
                 mPresentation.show();
                 presentationSignal.countDown();
             }
diff --git a/tests/tests/graphics/src/android/graphics/cts/BitmapTest.java b/tests/tests/graphics/src/android/graphics/cts/BitmapTest.java
index f58b871..07e65d2 100644
--- a/tests/tests/graphics/src/android/graphics/cts/BitmapTest.java
+++ b/tests/tests/graphics/src/android/graphics/cts/BitmapTest.java
@@ -359,8 +359,10 @@
         mBitmap = BitmapFactory.decodeResource(mRes, R.drawable.start, mOptions);
         Bitmap ret = mBitmap.extractAlpha();
         assertNotNull(ret);
-        int color = ret.getPixel(10, 20);
-        assertEquals(0x00, Color.alpha(color));
+        int source = mBitmap.getPixel(10, 20);
+        int result = ret.getPixel(10, 20);
+        assertEquals(Color.alpha(source), Color.alpha(result));
+        assertEquals(0xFF, Color.alpha(result));
     }
 
     public void testExtractAlpha2(){
@@ -377,8 +379,10 @@
         mBitmap = BitmapFactory.decodeResource(mRes, R.drawable.start, mOptions);
         Bitmap ret = mBitmap.extractAlpha(new Paint(), new int[]{0, 1});
         assertNotNull(ret);
-        int color = ret.getPixel(10, 20);
-        assertEquals(0x00, Color.alpha(color));
+        int source = mBitmap.getPixel(10, 20);
+        int result = ret.getPixel(10, 20);
+        assertEquals(Color.alpha(source), Color.alpha(result));
+        assertEquals(0xFF, Color.alpha(result));
     }
 
     public void testGetAllocationByteCount() {
@@ -446,9 +450,22 @@
         }catch(IllegalArgumentException e){
         }
 
-        // normal case
+        // normal case 565
         mBitmap.setPixel(10, 16, 0xFF << 24);
         assertEquals(0xFF << 24, mBitmap.getPixel(10, 16));
+
+        // normal case A_8
+        mBitmap = Bitmap.createBitmap(10, 10, Config.ALPHA_8);
+        mBitmap.setPixel(5, 5, 0xFFFFFFFF);
+        assertEquals(0xFFFFFFFF, mBitmap.getPixel(5, 5));
+        mBitmap.setPixel(5, 5, 0xA8A8A8A8);
+        assertEquals(0xA8A8A8A8, mBitmap.getPixel(5, 5));
+        mBitmap.setPixel(5, 5, 0x00000000);
+        assertEquals(0x00000000, mBitmap.getPixel(5, 5));
+
+        // test reconstructing color channels
+        mBitmap.setPixel(5, 5, 0x1F000000);
+        assertEquals(0x1F1F1F1F, mBitmap.getPixel(5, 5));
     }
 
     public void testGetRowBytes(){
diff --git a/tests/tests/hardware/Android.mk b/tests/tests/hardware/Android.mk
index 9523d87..9c26d8a 100644
--- a/tests/tests/hardware/Android.mk
+++ b/tests/tests/hardware/Android.mk
@@ -34,7 +34,7 @@
     src/android/hardware/cts/SensorIntegrationTests.java \
     src/android/hardware/cts/SensorBatchingTests.java \
     src/android/hardware/cts/SensorTest.java \
-    src/android/hardware/cts/SensorManagerStaticTest.java \
+    src/android/hardware/cts/SensorManagerStaticTest.java
 
 LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil
 
@@ -57,4 +57,4 @@
 
 LOCAL_JAVA_LIBRARIES := android.test.runner
 
-include $(BUILD_CTS_PACKAGE)
\ No newline at end of file
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/hardware/AndroidManifest.xml b/tests/tests/hardware/AndroidManifest.xml
index 1d1e3a8..031b19e 100644
--- a/tests/tests/hardware/AndroidManifest.xml
+++ b/tests/tests/hardware/AndroidManifest.xml
@@ -26,6 +26,7 @@
     <uses-permission android:name="android.permission.BODY_SENSORS" />
     <uses-permission android:name="android.permission.TRANSMIT_IR" />
     <uses-permission android:name="android.permission.REORDER_TASKS" />
+    <uses-permission android:name="android.permission.USE_FINGERPRINT" />
 
     <application>
         <uses-library android:name="android.test.runner" />
@@ -71,8 +72,10 @@
             android:process=":camera2ActivityProcess">
         </activity>
 
-        <activity android:name="android.hardware.input.cts.InputCtsActivity"
-            android:label="InputCtsActivity" />
+        <activity android:name="android.hardware.cts.FingerprintTestActivity"
+            android:label="FingerprintTestActivity">
+        </activity>
+
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/tests/tests/hardware/res/raw/gamepad_press_a.json b/tests/tests/hardware/res/raw/gamepad_press_a.json
deleted file mode 100644
index ff3ca4f..0000000
--- a/tests/tests/hardware/res/raw/gamepad_press_a.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-    "id": 1,
-    "command": "register",
-    "name": "Odie (Test)",
-    "vid": 0x18d1,
-    "pid": 0x2c40,
-    "descriptor": [0x05, 0x01, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x09, 0x0a, 0x01, 0x00,
-        0x0a, 0x02, 0x00, 0x0a, 0x04, 0x00, 0x0a, 0x05, 0x00, 0x0a, 0x07, 0x00, 0x0a, 0x08, 0x00,
-        0x0a, 0x0e, 0x00, 0x0a, 0x0f, 0x00, 0x0a, 0x0d, 0x00, 0x05, 0x0c, 0x0a, 0x24, 0x02, 0x0a,
-        0x23, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x0b, 0x81, 0x02, 0x75, 0x01, 0x95,
-        0x01, 0x81, 0x03, 0x05, 0x01, 0x75, 0x04, 0x95, 0x01, 0x25, 0x07, 0x46, 0x3b, 0x01, 0x66,
-        0x14, 0x00, 0x09, 0x39, 0x81, 0x42, 0x66, 0x00, 0x00, 0x09, 0x01, 0xa1, 0x00, 0x09, 0x30,
-        0x09, 0x31, 0x09, 0x32, 0x09, 0x35, 0x05, 0x02, 0x09, 0xc5, 0x09, 0xc4, 0x15, 0x00, 0x26,
-        0xff, 0x00, 0x35, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x02, 0xc0, 0x85,
-        0x02, 0x05, 0x08, 0x0a, 0x01, 0x00, 0x0a, 0x02, 0x00, 0x0a, 0x03, 0x00, 0x0a, 0x04, 0x00,
-        0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x02, 0x75, 0x04, 0x95, 0x01, 0x91,
-        0x03, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x01, 0x09, 0x06, 0xa1,
-        0x02, 0x05, 0x06, 0x09, 0x20, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81,
-        0x02, 0x06, 0xbc, 0xff, 0x0a, 0xad, 0xbd, 0x75, 0x08, 0x95, 0x06, 0x81, 0x02, 0xc0, 0xc0],
-    "report": [0x01, 0x00, 0x80, 0x90, 0x80, 0x7f, 0x73, 0x00, 0x00]
-}
-
-{
-    "id": 1,
-    "command": "report",
-    "report": [0x01, 0x01, 0x80, 0x90, 0x80, 0x7f, 0x73, 0x00, 0x00]
-}
-
-{
-    "id": 1,
-    "command": "delay",
-    "duration": 10
-}
-
-{
-    "id": 1,
-    "command": "report",
-    "report": [0x01, 0x00, 0x80, 0x90, 0x80, 0x7f, 0x73, 0x00, 0x00]
-}
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
index d4fb235..229185d 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
@@ -728,7 +728,12 @@
                             mCameraIds[i]));
                     continue;
                 }
-
+                if (!staticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, String.format(
+                        "Skipping this test for camera %s, does not support regular outputs",
+                        mCameraIds[i]));
+                    continue;
+                }
                 // Open camera and execute test
                 Log.i(TAG, "Testing Camera " + mCameraIds[i]);
                 try {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureRawTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureRawTest.java
index 3c9c061..75de9c0 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureRawTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureRawTest.java
@@ -81,14 +81,8 @@
                 Size[] rawSizes = mStaticInfo.getRawOutputSizesChecked();
                 assertTrue("No capture sizes available for RAW format!", rawSizes.length != 0);
 
-                Rect activeArray = mStaticInfo.getActiveArraySizeChecked();
-                Size size = new Size(activeArray.width(), activeArray.height());
-                mCollector.expectTrue("Missing ActiveArraySize",
-                        activeArray.width() > 0 && activeArray.height() > 0);
-                mCollector.expectContains(
-                        "Available sizes for RAW format must include ActiveArraySize",
-                        rawSizes, size);
-
+                // Check happens in getRawDimensChecked.
+                Size rawSize = mStaticInfo.getRawDimensChecked();
             } finally {
                 closeDevice();
             }
@@ -500,8 +494,7 @@
     {
         // capture size
         Size previewSize = mOrderedPreviewSizes.get(0);
-        Rect activeArray = mStaticInfo.getActiveArraySizeChecked();
-        Size rawSize = new Size(activeArray.width(), activeArray.height());
+        Size rawSize = mStaticInfo.getRawDimensChecked();
 
         // builder
         CaptureRequest.Builder previewCaptureBuilder = mCamera.createCaptureRequest(
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureTest.java
index fd8c487..d8fae6d 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/BurstCaptureTest.java
@@ -50,6 +50,9 @@
                 Log.i(TAG, "Testing YUV Burst for camera " + id);
                 openDevice(id);
 
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                }
                 if (!mStaticInfo.isAeLockSupported() || !mStaticInfo.isAwbLockSupported()) {
                     Log.i(TAG, "AE/AWB lock is not supported in camera " + id +
                             ". Skip the test");
@@ -224,7 +227,7 @@
         mSession.setRepeatingRequest(lockedRequest, resultListener, mHandler);
 
         // Wait for first result with locking
-
+        resultListener.drain();
         CaptureResult lockedResult =
                 resultListener.getCaptureResultForRequest(lockedRequest, maxPipelineDepth);
 
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
index 189d3cd..44fda14 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -34,6 +34,7 @@
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
 import android.hardware.camera2.TotalCaptureResult;
+import android.hardware.camera2.cts.helpers.StaticMetadata;
 import android.hardware.camera2.cts.testcases.Camera2AndroidTestCase;
 import android.hardware.camera2.params.MeteringRectangle;
 import android.media.ImageReader;
@@ -282,6 +283,11 @@
                             sTemplates[j] == CameraDevice.TEMPLATE_VIDEO_SNAPSHOT) {
                         continue;
                     }
+                    // Skip non-PREVIEW templates for non-color output
+                    if (!mStaticInfo.isColorOutputSupported() &&
+                            sTemplates[j] != CameraDevice.TEMPLATE_PREVIEW) {
+                        continue;
+                    }
                     CaptureRequest.Builder capReq = mCamera.createCaptureRequest(sTemplates[j]);
                     assertNotNull("Failed to create capture request", capReq);
                     if (mStaticInfo.areKeysAvailable(CaptureRequest.SENSOR_EXPOSURE_TIME)) {
@@ -405,9 +411,6 @@
      */
     public void testChainedOperation() throws Throwable {
 
-        // Set up single dummy target
-        createDefaultImageReader(DEFAULT_CAPTURE_SIZE, ImageFormat.YUV_420_888, MAX_NUM_IMAGES,
-                /*listener*/ null);
         final ArrayList<Surface> outputs = new ArrayList<>();
         outputs.add(mReaderSurface);
 
@@ -546,6 +549,12 @@
         for (int i = 0; i < mCameraIds.length; i++) {
             Throwable result;
 
+            if (!(new StaticMetadata(mCameraManager.getCameraCharacteristics(mCameraIds[i]))).
+                    isColorOutputSupported()) {
+                Log.i(TAG, "Camera " + mCameraIds[i] + " does not support color outputs, skipping");
+                continue;
+            }
+
             // Start chained cascade
             ChainedCameraListener cameraListener = new ChainedCameraListener();
             mCameraManager.openCamera(mCameraIds[i], cameraListener, mHandler);
@@ -594,6 +603,11 @@
             try {
                 openDevice(mCameraIds[i], mCameraMockListener);
                 waitForDeviceState(STATE_OPENED, CAMERA_OPEN_TIMEOUT_MS);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
 
                 prepareTestByCamera();
             }
@@ -611,6 +625,11 @@
             try {
                 openDevice(mCameraIds[i], mCameraMockListener);
                 waitForDeviceState(STATE_OPENED, CAMERA_OPEN_TIMEOUT_MS);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
 
                 testCreateSessionsByCamera(mCameraIds[i]);
             }
@@ -982,6 +1001,11 @@
                                 sTemplates[j] == CameraDevice.TEMPLATE_VIDEO_SNAPSHOT) {
                             continue;
                         }
+                        // Skip non-PREVIEW templates for non-color output
+                        if (!mStaticInfo.isColorOutputSupported() &&
+                                sTemplates[j] != CameraDevice.TEMPLATE_PREVIEW) {
+                            continue;
+                        }
                         captureSingleShot(mCameraIds[i], sTemplates[j], repeating, abort);
                     }
                 }
@@ -989,13 +1013,16 @@
                     // Test: burst of one shot
                     captureBurstShot(mCameraIds[i], sTemplates, 1, repeating, abort);
 
+                    int template = mStaticInfo.isColorOutputSupported() ?
+                        CameraDevice.TEMPLATE_STILL_CAPTURE :
+                        CameraDevice.TEMPLATE_PREVIEW;
                     int[] templates = new int[] {
-                            CameraDevice.TEMPLATE_STILL_CAPTURE,
-                            CameraDevice.TEMPLATE_STILL_CAPTURE,
-                            CameraDevice.TEMPLATE_STILL_CAPTURE,
-                            CameraDevice.TEMPLATE_STILL_CAPTURE,
-                            CameraDevice.TEMPLATE_STILL_CAPTURE
-                            };
+                        template,
+                        template,
+                        template,
+                        template,
+                        template
+                    };
 
                     // Test: burst of 5 shots of the same template type
                     captureBurstShot(mCameraIds[i], templates, templates.length, repeating, abort);
@@ -1075,6 +1102,11 @@
                     templates[i] == CameraDevice.TEMPLATE_VIDEO_SNAPSHOT) {
                 continue;
             }
+            // Skip non-PREVIEW templates for non-color outpu
+            if (!mStaticInfo.isColorOutputSupported() &&
+                    templates[i] != CameraDevice.TEMPLATE_PREVIEW) {
+                continue;
+            }
             CaptureRequest.Builder requestBuilder = mCamera.createCaptureRequest(templates[i]);
             assertNotNull("Failed to create capture request", requestBuilder);
             requestBuilder.addTarget(mReaderSurface);
@@ -1135,6 +1167,11 @@
         mSessionMockListener = spy(new BlockingSessionCallback());
         mSessionWaiter = mSessionMockListener.getStateWaiter();
 
+        if (!mStaticInfo.isColorOutputSupported()) {
+            createDefaultImageReader(getMaxDepthSize(mCamera.getId(), mCameraManager),
+                    ImageFormat.DEPTH16, MAX_NUM_IMAGES, new ImageDropperListener());
+        }
+
         List<Surface> outputSurfaces = new ArrayList<>(Arrays.asList(mReaderSurface));
         mCamera.createCaptureSession(outputSurfaces, mSessionMockListener, mHandler);
 
@@ -1229,9 +1266,9 @@
 
     private void checkAfMode(CaptureRequest.Builder request, int template,
             CameraCharacteristics props) {
-        boolean hasFocuser = !props.getKeys().contains(CameraCharacteristics.
-                LENS_INFO_MINIMUM_FOCUS_DISTANCE) ||
-                props.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE) > 0f;
+        boolean hasFocuser = props.getKeys().contains(CameraCharacteristics.
+                LENS_INFO_MINIMUM_FOCUS_DISTANCE) &&
+                (props.get(CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE) > 0f);
 
         if (!hasFocuser) {
             return;
@@ -1273,6 +1310,8 @@
             return;
         }
 
+        if (!mStaticInfo.isColorOutputSupported()) return;
+
         List<Integer> availableAntiBandingModes =
                 Arrays.asList(toObject(mStaticInfo.getAeAvailableAntiBandingModesChecked()));
 
@@ -1324,12 +1363,16 @@
         }
 
         // 3A settings--AE/AWB/AF.
-        int maxRegionsAe = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
-        int maxRegionsAwb = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AWB);
-        int maxRegionsAf = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF);
+        Integer maxRegionsAeVal = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
+        int maxRegionsAe = maxRegionsAeVal != null ? maxRegionsAeVal : 0;
+        Integer maxRegionsAwbVal = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AWB);
+        int maxRegionsAwb = maxRegionsAwbVal != null ? maxRegionsAwbVal : 0;
+        Integer maxRegionsAfVal = props.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF);
+        int maxRegionsAf = maxRegionsAfVal != null ? maxRegionsAfVal : 0;
+
+        checkFpsRange(request, template, props);
 
         checkAfMode(request, template, props);
-        checkFpsRange(request, template, props);
         checkAntiBandingMode(request, template);
 
         if (template == CameraDevice.TEMPLATE_MANUAL) {
@@ -1339,45 +1382,47 @@
             mCollector.expectKeyValueEquals(request, CONTROL_AWB_MODE,
                     CaptureRequest.CONTROL_AWB_MODE_OFF);
         } else {
-            mCollector.expectKeyValueEquals(request, CONTROL_AE_MODE,
-                    CaptureRequest.CONTROL_AE_MODE_ON);
-            mCollector.expectKeyValueEquals(request, CONTROL_AE_EXPOSURE_COMPENSATION, 0);
-            mCollector.expectKeyValueEquals(request, CONTROL_AE_PRECAPTURE_TRIGGER,
-                    CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_IDLE);
-            // if AE lock is not supported, expect the control key to be non-exist or false
-            if (mStaticInfo.isAeLockSupported() || request.get(CONTROL_AE_LOCK) != null) {
-                mCollector.expectKeyValueEquals(request, CONTROL_AE_LOCK, false);
-            }
+            if (mStaticInfo.isColorOutputSupported()) {
+                mCollector.expectKeyValueEquals(request, CONTROL_AE_MODE,
+                        CaptureRequest.CONTROL_AE_MODE_ON);
+                mCollector.expectKeyValueEquals(request, CONTROL_AE_EXPOSURE_COMPENSATION, 0);
+                mCollector.expectKeyValueEquals(request, CONTROL_AE_PRECAPTURE_TRIGGER,
+                        CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_IDLE);
+                // if AE lock is not supported, expect the control key to be non-exist or false
+                if (mStaticInfo.isAeLockSupported() || request.get(CONTROL_AE_LOCK) != null) {
+                    mCollector.expectKeyValueEquals(request, CONTROL_AE_LOCK, false);
+                }
 
-            mCollector.expectKeyValueEquals(request, CONTROL_AF_TRIGGER,
-                    CaptureRequest.CONTROL_AF_TRIGGER_IDLE);
+                mCollector.expectKeyValueEquals(request, CONTROL_AF_TRIGGER,
+                        CaptureRequest.CONTROL_AF_TRIGGER_IDLE);
 
-            mCollector.expectKeyValueEquals(request, CONTROL_AWB_MODE,
-                    CaptureRequest.CONTROL_AWB_MODE_AUTO);
-            // if AWB lock is not supported, expect the control key to be non-exist or false
-            if (mStaticInfo.isAwbLockSupported() || request.get(CONTROL_AWB_LOCK) != null) {
-                mCollector.expectKeyValueEquals(request, CONTROL_AWB_LOCK, false);
-            }
+                mCollector.expectKeyValueEquals(request, CONTROL_AWB_MODE,
+                        CaptureRequest.CONTROL_AWB_MODE_AUTO);
+                // if AWB lock is not supported, expect the control key to be non-exist or false
+                if (mStaticInfo.isAwbLockSupported() || request.get(CONTROL_AWB_LOCK) != null) {
+                    mCollector.expectKeyValueEquals(request, CONTROL_AWB_LOCK, false);
+                }
 
-            // Check 3A regions.
-            if (VERBOSE) {
-                Log.v(TAG, String.format("maxRegions is: {AE: %s, AWB: %s, AF: %s}",
-                        maxRegionsAe, maxRegionsAwb, maxRegionsAf));
-            }
-            if (maxRegionsAe > 0) {
-                mCollector.expectKeyValueNotNull(request, CONTROL_AE_REGIONS);
-                MeteringRectangle[] aeRegions = request.get(CONTROL_AE_REGIONS);
-                checkMeteringRect(aeRegions);
-            }
-            if (maxRegionsAwb > 0) {
-                mCollector.expectKeyValueNotNull(request, CONTROL_AWB_REGIONS);
-                MeteringRectangle[] awbRegions = request.get(CONTROL_AWB_REGIONS);
-                checkMeteringRect(awbRegions);
-            }
-            if (maxRegionsAf > 0) {
-                mCollector.expectKeyValueNotNull(request, CONTROL_AF_REGIONS);
-                MeteringRectangle[] afRegions = request.get(CONTROL_AF_REGIONS);
-                checkMeteringRect(afRegions);
+                // Check 3A regions.
+                if (VERBOSE) {
+                    Log.v(TAG, String.format("maxRegions is: {AE: %s, AWB: %s, AF: %s}",
+                                    maxRegionsAe, maxRegionsAwb, maxRegionsAf));
+                }
+                if (maxRegionsAe > 0) {
+                    mCollector.expectKeyValueNotNull(request, CONTROL_AE_REGIONS);
+                    MeteringRectangle[] aeRegions = request.get(CONTROL_AE_REGIONS);
+                    checkMeteringRect(aeRegions);
+                }
+                if (maxRegionsAwb > 0) {
+                    mCollector.expectKeyValueNotNull(request, CONTROL_AWB_REGIONS);
+                    MeteringRectangle[] awbRegions = request.get(CONTROL_AWB_REGIONS);
+                    checkMeteringRect(awbRegions);
+                }
+                if (maxRegionsAf > 0) {
+                    mCollector.expectKeyValueNotNull(request, CONTROL_AF_REGIONS);
+                    MeteringRectangle[] afRegions = request.get(CONTROL_AF_REGIONS);
+                    checkMeteringRect(afRegions);
+                }
             }
         }
 
@@ -1446,10 +1491,12 @@
         }
 
         // ISP-processing settings.
-        mCollector.expectKeyValueEquals(
-                request, STATISTICS_FACE_DETECT_MODE,
-                CaptureRequest.STATISTICS_FACE_DETECT_MODE_OFF);
-        mCollector.expectKeyValueEquals(request, FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
+        if (mStaticInfo.isColorOutputSupported()) {
+            mCollector.expectKeyValueEquals(
+                    request, STATISTICS_FACE_DETECT_MODE,
+                    CaptureRequest.STATISTICS_FACE_DETECT_MODE_OFF);
+            mCollector.expectKeyValueEquals(request, FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);
+        }
 
         List<Integer> availableCaps = mStaticInfo.getAvailableCapabilitiesChecked();
         if (mStaticInfo.areKeysAvailable(STATISTICS_LENS_SHADING_MAP_MODE)) {
@@ -1461,6 +1508,11 @@
             }
         }
 
+        // Edge enhancement and noise reduction modes
+        boolean supportReprocessing =
+                availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING) ||
+                availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING);
+
         if (template == CameraDevice.TEMPLATE_STILL_CAPTURE) {
             // Not enforce high quality here, as some devices may not effectively have high quality
             // mode.
@@ -1513,7 +1565,23 @@
                             request, NOISE_REDUCTION_MODE, CaptureRequest.NOISE_REDUCTION_MODE_OFF);
                 }
             }
+        } else if (template == CameraDevice.TEMPLATE_ZERO_SHUTTER_LAG && supportReprocessing) {
+            mCollector.expectKeyValueEquals(request, EDGE_MODE,
+                    CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG);
+            mCollector.expectKeyValueEquals(request, NOISE_REDUCTION_MODE,
+                    CaptureRequest.NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG);
+        } else {
+            if (mStaticInfo.areKeysAvailable(EDGE_MODE)) {
+                mCollector.expectKeyValueNotNull(request, EDGE_MODE);
+            }
 
+            if (mStaticInfo.areKeysAvailable(NOISE_REDUCTION_MODE)) {
+                mCollector.expectKeyValueNotNull(request, NOISE_REDUCTION_MODE);
+            }
+        }
+
+        // Tone map and lens shading modes.
+        if (template == CameraDevice.TEMPLATE_STILL_CAPTURE) {
             mCollector.expectEquals("Tonemap mode must be present in request if " +
                             "available tonemap modes are present in metadata, and vice-versa.",
                     mStaticInfo.areKeysAvailable(CameraCharacteristics.
@@ -1540,14 +1608,6 @@
                             STATISTICS_LENS_SHADING_MAP_MODE_ON);
             }
         } else {
-            if (mStaticInfo.areKeysAvailable(EDGE_MODE)) {
-                mCollector.expectKeyValueNotNull(request, EDGE_MODE);
-            }
-
-            if (mStaticInfo.areKeysAvailable(NOISE_REDUCTION_MODE)) {
-                mCollector.expectKeyValueNotNull(request, NOISE_REDUCTION_MODE);
-            }
-
             if (mStaticInfo.areKeysAvailable(TONEMAP_MODE)) {
                 mCollector.expectKeyValueNotEquals(request, TONEMAP_MODE,
                         CaptureRequest.TONEMAP_MODE_CONTRAST_CURVE);
@@ -1595,6 +1655,10 @@
                 } else if (sLegacySkipTemplates.contains(template) &&
                         mStaticInfo.isHardwareLevelLegacy()) {
                     // OK
+                } else if (template != CameraDevice.TEMPLATE_PREVIEW &&
+                        mStaticInfo.isDepthOutputSupported() &&
+                        !mStaticInfo.isColorOutputSupported()) {
+                    // OK, depth-only devices need only support PREVIEW template
                 } else {
                     throw e; // rethrow
                 }
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
index 70e7e68..c5eb27b 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
@@ -23,6 +23,7 @@
 import android.graphics.Rect;
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCaptureSession;
+import android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CameraCharacteristics;
@@ -49,7 +50,9 @@
 import android.util.Log;
 import android.util.Pair;
 import android.util.Size;
+import android.view.Display;
 import android.view.Surface;
+import android.view.WindowManager;
 
 import com.android.ex.camera2.blocking.BlockingCameraManager;
 import com.android.ex.camera2.blocking.BlockingCameraManager.BlockingOpenException;
@@ -711,7 +714,8 @@
                 session.isReprocessable());
         String sessionType = isHighSpeed ? "High Speed" : "Normal";
         assertTrue("Capture session type must be " + sessionType,
-                session.isConstrainedHighSpeed() == isHighSpeed);
+                isHighSpeed ==
+                CameraConstrainedHighSpeedCaptureSession.class.isAssignableFrom(session.getClass()));
 
         return session;
     }
@@ -813,9 +817,10 @@
 
         ByteBuffer buffer = null;
         // JPEG doesn't have pixelstride and rowstride, treat it as 1D buffer.
-        if (format == ImageFormat.JPEG) {
+        // Same goes for DEPTH_POINT_CLOUD
+        if (format == ImageFormat.JPEG || format == ImageFormat.DEPTH_POINT_CLOUD) {
             buffer = planes[0].getBuffer();
-            assertNotNull("Fail to get jpeg ByteBuffer", buffer);
+            assertNotNull("Fail to get jpeg or depth ByteBuffer", buffer);
             data = new byte[buffer.remaining()];
             buffer.get(data);
             buffer.rewind();
@@ -893,7 +898,9 @@
                 break;
             case ImageFormat.JPEG:
             case ImageFormat.RAW_SENSOR:
-                assertEquals("Jpeg Image should have one plane", 1, planes.length);
+            case ImageFormat.DEPTH16:
+            case ImageFormat.DEPTH_POINT_CLOUD:
+                assertEquals("JPEG/RAW/depth Images should have one plane", 1, planes.length);
                 break;
             default:
                 fail("Unsupported Image Format: " + format);
@@ -1160,6 +1167,16 @@
     }
 
     /**
+     * Get max depth size for a camera device.
+     */
+    static public Size getMaxDepthSize(String cameraId, CameraManager cameraManager)
+            throws CameraAccessException {
+        List<Size> sizes = getSortedSizesForFormat(cameraId, cameraManager, ImageFormat.DEPTH16,
+                /*bound*/ null);
+        return sizes.get(0);
+    }
+
+    /**
      * Get the largest size by area.
      *
      * @param sizes an array of sizes, must have at least 1 element
@@ -1168,7 +1185,7 @@
      *
      * @throws IllegalArgumentException if sizes was null or had 0 elements
      */
-    public static Size getMaxSize(Size[] sizes) {
+    public static Size getMaxSize(Size... sizes) {
         if (sizes == null || sizes.length == 0) {
             throw new IllegalArgumentException("sizes was empty");
         }
@@ -1263,10 +1280,6 @@
 
     /**
      * Validate image based on format and size.
-     * <p>
-     * Only RAW_SENSOR, YUV420_888 and JPEG formats are supported. Calling this
-     * method with other formats will cause a UnsupportedOperationException.
-     * </p>
      *
      * @param image The image to be validated.
      * @param width The image width.
@@ -1274,8 +1287,7 @@
      * @param format The image format.
      * @param filePath The debug dump file path, null if don't want to dump to
      *            file.
-     * @throws UnsupportedOperationException if calling with format other than
-     *             RAW_SENSOR, YUV420_888 or JPEG.
+     * @throws UnsupportedOperationException if calling with an unknown format
      */
     public static void validateImage(Image image, int width, int height, int format,
             String filePath) {
@@ -1302,6 +1314,12 @@
             case ImageFormat.RAW_SENSOR:
                 validateRaw16Data(data, width, height, format, image.getTimestamp(), filePath);
                 break;
+            case ImageFormat.DEPTH16:
+                validateDepth16Data(data, width, height, format, image.getTimestamp(), filePath);
+                break;
+            case ImageFormat.DEPTH_POINT_CLOUD:
+                validateDepthPointCloudData(data, width, height, format, image.getTimestamp(), filePath);
+                break;
             default:
                 throw new UnsupportedOperationException("Unsupported format for validation: "
                         + format);
@@ -1385,7 +1403,7 @@
             long ts, String filePath) {
         if (VERBOSE) Log.v(TAG, "Validating raw data");
         int expectedSize = width * height * ImageFormat.getBitsPerPixel(format) / 8;
-        assertEquals("Yuv data doesn't match", expectedSize, rawData.length);
+        assertEquals("Raw data doesn't match", expectedSize, rawData.length);
 
         // TODO: Can add data validation for test pattern.
 
@@ -1398,6 +1416,41 @@
         return;
     }
 
+    private static void validateDepth16Data(byte[] depthData, int width, int height, int format,
+            long ts, String filePath) {
+
+        if (VERBOSE) Log.v(TAG, "Validating depth16 data");
+        int expectedSize = width * height * ImageFormat.getBitsPerPixel(format) / 8;
+        assertEquals("Depth data doesn't match", expectedSize, depthData.length);
+
+
+        if (DEBUG && filePath != null) {
+            String fileName =
+                    filePath + "/" + width + "x" + height + "_" + ts / 1e6 + ".depth16";
+            dumpFile(fileName, depthData);
+        }
+
+        return;
+
+    }
+
+    private static void validateDepthPointCloudData(byte[] depthData, int width, int height, int format,
+            long ts, String filePath) {
+
+        if (VERBOSE) Log.v(TAG, "Validating depth point cloud data");
+
+        // Can't validate size since it is variable
+
+        if (DEBUG && filePath != null) {
+            String fileName =
+                    filePath + "/" + width + "x" + height + "_" + ts / 1e6 + ".depth_point_cloud";
+            dumpFile(fileName, depthData);
+        }
+
+        return;
+
+    }
+
     public static <T> T getValueNotNull(CaptureResult result, CaptureResult.Key<T> key) {
         if (result == null) {
             throw new IllegalArgumentException("Result must not be null");
@@ -2056,4 +2109,22 @@
             thumbnailQuality = thumbQuality;
         }
     }
+
+    public static Size getPreviewSizeBound(WindowManager windowManager, Size bound) {
+        Display display = windowManager.getDefaultDisplay();
+
+        int width = display.getWidth();
+        int height = display.getHeight();
+
+        if (height > width) {
+            height = width;
+            width = display.getHeight();
+        }
+
+        if (bound.getWidth() <= width &&
+            bound.getHeight() <= height)
+            return bound;
+        else
+            return new Size(width, height);
+    }
 }
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
index 3aa1c1f..3e76fbc 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
@@ -147,7 +147,8 @@
                 changeExposure(requestBuilder, DEFAULT_EXP_TIME_NS, DEFAULT_SENSITIVITY);
 
                 Size previewSz =
-                        getMaxPreviewSize(mCamera.getId(), mCameraManager, PREVIEW_SIZE_BOUND);
+                        getMaxPreviewSize(mCamera.getId(), mCameraManager,
+                        getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
 
                 startPreview(requestBuilder, previewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
@@ -207,7 +208,8 @@
                         STATISTICS_LENS_SHADING_MAP_MODE_ON);
 
                 Size previewSz =
-                        getMaxPreviewSize(mCamera.getId(), mCameraManager, PREVIEW_SIZE_BOUND);
+                        getMaxPreviewSize(mCamera.getId(), mCameraManager,
+                        getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
                 List<Integer> lensShadingModes = Arrays.asList(CameraTestUtils.toObject(
                         mStaticInfo.getAvailableLensShadingModesChecked()));
 
@@ -266,13 +268,14 @@
                 // Without manual sensor control, exposure time cannot be verified
                 if (!mStaticInfo.isCapabilitySupported(
                         CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {
-                    return;
+                    continue;
                 }
 
                 int[] modes = mStaticInfo.getAeAvailableAntiBandingModesChecked();
 
                 Size previewSz =
-                        getMaxPreviewSize(mCamera.getId(), mCameraManager, PREVIEW_SIZE_BOUND);
+                        getMaxPreviewSize(mCamera.getId(), mCameraManager,
+                        getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
 
                 for (int mode : modes) {
                     antiBandingTestByMode(previewSz, mode);
@@ -297,6 +300,11 @@
         for (int i = 0; i < mCameraIds.length; i++) {
             try {
                 openDevice(mCameraIds[i]);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
 
                 Size maxPreviewSz = mOrderedPreviewSizes.get(0); // Max preview size.
 
@@ -324,6 +332,11 @@
         for (int i = 0; i < mCameraIds.length; i++) {
             try {
                 openDevice(mCameraIds[i]);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
 
                 SimpleCaptureCallback listener = new SimpleCaptureCallback();
                 CaptureRequest.Builder requestBuilder =
@@ -361,7 +374,11 @@
         for (int i = 0; i < mCameraIds.length; i++) {
             try {
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 faceDetectionTestByCamera();
             } finally {
                 closeDevice();
@@ -476,7 +493,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 awbModeAndLockTestByCamera();
             } finally {
                 closeDevice();
@@ -491,7 +511,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 afModeTestByCamera();
             } finally {
                 closeDevice();
@@ -514,7 +537,10 @@
                     Log.i(TAG, "Camera " + id + " doesn't support any stabilization modes");
                     continue;
                 }
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 stabilizationTestByCamera();
             } finally {
                 closeDevice();
@@ -530,7 +556,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 Size maxPreviewSize = mOrderedPreviewSizes.get(0);
                 digitalZoomTestByCamera(maxPreviewSize);
             } finally {
@@ -547,7 +576,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 digitalZoomPreviewCombinationTestByCamera();
             } finally {
                 closeDevice();
@@ -578,7 +610,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 effectModeTestByCamera();
             } finally {
                 closeDevice();
@@ -1202,7 +1237,9 @@
                 changeExposure(requestBuilder, expTimes[i], sensitivities[j]);
                 mSession.capture(requestBuilder.build(), listener, mHandler);
 
-                CaptureResult result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
+                // make sure timeout is long enough for long exposure time
+                long timeout = WAIT_FOR_RESULT_TIMEOUT_MS + expTimes[i];
+                CaptureResult result = listener.getCaptureResult(timeout);
                 long resultExpTime = getValueNotNull(result, CaptureResult.SENSOR_EXPOSURE_TIME);
                 int resultSensitivity = getValueNotNull(result, CaptureResult.SENSOR_SENSITIVITY);
                 validateExposureTime(expTimes[i], resultExpTime);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
index df3f151..b752c07 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
@@ -97,10 +97,16 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-                // Create image reader and surface.
-                Size size = mOrderedPreviewSizes.get(0);
-                createDefaultImageReader(size, ImageFormat.YUV_420_888, MAX_NUM_IMAGES,
-                        new ImageDropperListener());
+                if (mStaticInfo.isColorOutputSupported()) {
+                    // Create image reader and surface.
+                    Size size = mOrderedPreviewSizes.get(0);
+                    createDefaultImageReader(size, ImageFormat.YUV_420_888, MAX_NUM_IMAGES,
+                            new ImageDropperListener());
+                } else {
+                    Size size = getMaxDepthSize(id, mCameraManager);
+                    createDefaultImageReader(size, ImageFormat.DEPTH16, MAX_NUM_IMAGES,
+                            new ImageDropperListener());
+                }
 
                 // Configure output streams.
                 List<Surface> outputSurfaces = new ArrayList<Surface>(1);
@@ -158,9 +164,15 @@
                 }
 
                 // Create image reader and surface.
-                Size size = mOrderedPreviewSizes.get(0);
-                createDefaultImageReader(size, ImageFormat.YUV_420_888, MAX_NUM_IMAGES,
-                        new ImageDropperListener());
+                if (mStaticInfo.isColorOutputSupported()) {
+                    Size size = mOrderedPreviewSizes.get(0);
+                    createDefaultImageReader(size, ImageFormat.YUV_420_888, MAX_NUM_IMAGES,
+                            new ImageDropperListener());
+                } else {
+                    Size size = getMaxDepthSize(id, mCameraManager);
+                    createDefaultImageReader(size, ImageFormat.DEPTH16, MAX_NUM_IMAGES,
+                            new ImageDropperListener());
+                }
 
                 // Configure output streams.
                 List<Surface> outputSurfaces = new ArrayList<Surface>(1);
@@ -263,6 +275,10 @@
             SimpleImageReaderListener prevListener = new SimpleImageReaderListener();
             try {
                 openDevice(id);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
 
                 CaptureRequest.Builder previewBuilder =
                         mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
@@ -469,6 +485,8 @@
                 CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT)) {
             waiverKeys.add(CaptureResult.LENS_POSE_ROTATION);
             waiverKeys.add(CaptureResult.LENS_POSE_TRANSLATION);
+            waiverKeys.add(CaptureResult.LENS_INTRINSIC_CALIBRATION);
+            waiverKeys.add(CaptureResult.LENS_RADIAL_DISTORTION);
         }
 
         if (mStaticInfo.getAeMaxRegionsChecked() == 0) {
@@ -539,12 +557,12 @@
             waiverKeys.add(CaptureResult.LENS_FILTER_DENSITY);
         }
 
-        if (mStaticInfo.isHardwareLevelLimited()) {
+        if (mStaticInfo.isHardwareLevelLimited() && mStaticInfo.isColorOutputSupported()) {
             return waiverKeys;
         }
 
         /*
-         * Hardware Level = LEGACY
+         * Hardware Level = LEGACY or no regular output is supported
          */
         waiverKeys.add(CaptureResult.CONTROL_AE_PRECAPTURE_TRIGGER);
         waiverKeys.add(CaptureResult.CONTROL_AE_STATE);
@@ -558,6 +576,30 @@
         waiverKeys.add(CaptureResult.CONTROL_AE_TARGET_FPS_RANGE);
         waiverKeys.add(CaptureResult.CONTROL_AF_TRIGGER);
 
+        if (mStaticInfo.isHardwareLevelLegacy()) {
+            return waiverKeys;
+        }
+
+        /*
+         * Regular output not supported, only depth, waive color-output-related keys
+         */
+        waiverKeys.add(CaptureResult.CONTROL_SCENE_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_EFFECT_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_VIDEO_STABILIZATION_MODE);
+        waiverKeys.add(CaptureResult.SENSOR_TEST_PATTERN_MODE);
+        waiverKeys.add(CaptureResult.NOISE_REDUCTION_MODE);
+        waiverKeys.add(CaptureResult.COLOR_CORRECTION_ABERRATION_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_AE_ANTIBANDING_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_AE_EXPOSURE_COMPENSATION);
+        waiverKeys.add(CaptureResult.CONTROL_AE_LOCK);
+        waiverKeys.add(CaptureResult.CONTROL_AE_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_AF_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_AWB_MODE);
+        waiverKeys.add(CaptureResult.CONTROL_AWB_LOCK);
+        waiverKeys.add(CaptureResult.STATISTICS_FACE_DETECT_MODE);
+        waiverKeys.add(CaptureResult.FLASH_MODE);
+        waiverKeys.add(CaptureResult.SCALER_CROP_REGION);
+
         return waiverKeys;
     }
 
@@ -706,6 +748,8 @@
         resultKeys.add(CaptureResult.LENS_OPTICAL_STABILIZATION_MODE);
         resultKeys.add(CaptureResult.LENS_POSE_ROTATION);
         resultKeys.add(CaptureResult.LENS_POSE_TRANSLATION);
+        resultKeys.add(CaptureResult.LENS_INTRINSIC_CALIBRATION);
+        resultKeys.add(CaptureResult.LENS_RADIAL_DISTORTION);
         resultKeys.add(CaptureResult.LENS_FOCUS_RANGE);
         resultKeys.add(CaptureResult.LENS_STATE);
         resultKeys.add(CaptureResult.NOISE_REDUCTION_MODE);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.java
index e8a70f0..80cd288 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ExtendedCameraCharacteristicsTest.java
@@ -23,6 +23,7 @@
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraCharacteristics.Key;
 import android.hardware.camera2.CameraManager;
+import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.cts.helpers.CameraErrorCollector;
 import android.hardware.camera2.params.BlackLevelPattern;
 import android.hardware.camera2.params.ColorSpaceTransform;
@@ -63,7 +64,11 @@
     private String[] mIds;
     private CameraErrorCollector mCollector;
 
+    private static final Size FULLHD = new Size(1920, 1080);
+    private static final Size FULLHD_ALT = new Size(1920, 1088);
+    private static final Size HD = new Size(1280, 720);
     private static final Size VGA = new Size(640, 480);
+    private static final Size QVGA = new Size(320, 240);
 
     /*
      * HW Levels short hand
@@ -141,21 +146,119 @@
                     mIds[counter]), config);
             int[] outputFormats = config.getOutputFormats();
 
+            int[] actualCapabilities = c.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
+            assertNotNull("android.request.availableCapabilities must never be null",
+                    actualCapabilities);
+
             // Check required formats exist (JPEG, and YUV_420_888).
+            if (!arrayContains(actualCapabilities, BC)) {
+                Log.i(TAG, "Camera " + mIds[counter] +
+                    ": BACKWARD_COMPATIBLE capability not supported, skipping test");
+                continue;
+            }
+
             assertArrayContains(
                     String.format("No valid YUV_420_888 preview formats found for: ID %s",
                             mIds[counter]), outputFormats, ImageFormat.YUV_420_888);
             assertArrayContains(String.format("No JPEG image format for: ID %s",
                     mIds[counter]), outputFormats, ImageFormat.JPEG);
 
-            Size[] sizes = config.getOutputSizes(ImageFormat.YUV_420_888);
-            CameraTestUtils.assertArrayNotEmpty(sizes,
+            Size[] yuvSizes = config.getOutputSizes(ImageFormat.YUV_420_888);
+            Size[] jpegSizes = config.getOutputSizes(ImageFormat.JPEG);
+            Size[] privateSizes = config.getOutputSizes(ImageFormat.PRIVATE);
+
+            CameraTestUtils.assertArrayNotEmpty(yuvSizes,
                     String.format("No sizes for preview format %x for: ID %s",
                             ImageFormat.YUV_420_888, mIds[counter]));
 
-            assertArrayContains(String.format(
-                            "Required VGA size not found for format %x for: ID %s",
-                            ImageFormat.YUV_420_888, mIds[counter]), sizes, VGA);
+            Rect activeRect = CameraTestUtils.getValueNotNull(
+                    c, CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
+            Size activeArraySize = new Size(activeRect.width(), activeRect.height());
+            Integer hwLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+
+            if (activeArraySize.getWidth() >= FULLHD.getWidth() &&
+                    activeArraySize.getHeight() >= FULLHD.getHeight()) {
+                assertArrayContains(String.format(
+                        "Required FULLHD size not found for format %x for: ID %s",
+                        ImageFormat.JPEG, mIds[counter]), jpegSizes, FULLHD);
+            }
+
+            if (activeArraySize.getWidth() >= HD.getWidth() &&
+                    activeArraySize.getHeight() >= HD.getHeight()) {
+                assertArrayContains(String.format(
+                        "Required HD size not found for format %x for: ID %s",
+                        ImageFormat.JPEG, mIds[counter]), jpegSizes, HD);
+            }
+
+            if (activeArraySize.getWidth() >= VGA.getWidth() &&
+                    activeArraySize.getHeight() >= VGA.getHeight()) {
+                assertArrayContains(String.format(
+                        "Required VGA size not found for format %x for: ID %s",
+                        ImageFormat.JPEG, mIds[counter]), jpegSizes, VGA);
+            }
+
+            if (activeArraySize.getWidth() >= QVGA.getWidth() &&
+                    activeArraySize.getHeight() >= QVGA.getHeight()) {
+                assertArrayContains(String.format(
+                        "Required QVGA size not found for format %x for: ID %s",
+                        ImageFormat.JPEG, mIds[counter]), jpegSizes, QVGA);
+            }
+
+            ArrayList<Size> jpegSizesList = new ArrayList<>(Arrays.asList(jpegSizes));
+            ArrayList<Size> yuvSizesList = new ArrayList<>(Arrays.asList(yuvSizes));
+            ArrayList<Size> privateSizesList = new ArrayList<>(Arrays.asList(privateSizes));
+
+            CamcorderProfile maxVideoProfile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
+            Size maxVideoSize = new Size(
+                    maxVideoProfile.videoFrameWidth, maxVideoProfile.videoFrameHeight);
+
+            // Handle FullHD special case first
+            if (jpegSizesList.contains(FULLHD)) {
+                if (hwLevel == FULL || (hwLevel == LIMITED &&
+                        maxVideoSize.getWidth() >= FULLHD.getWidth() &&
+                        maxVideoSize.getHeight() >= FULLHD.getHeight())) {
+                    boolean yuvSupportFullHD = yuvSizesList.contains(FULLHD) ||
+                            yuvSizesList.contains(FULLHD_ALT);
+                    boolean privateSupportFullHD = privateSizesList.contains(FULLHD) ||
+                            privateSizesList.contains(FULLHD_ALT);
+                    assertTrue("Full device FullHD YUV size not found", yuvSupportFullHD);
+                    assertTrue("Full device FullHD PRIVATE size not found", privateSupportFullHD);
+                }
+                // remove all FullHD or FullHD_Alt sizes for the remaining of the test
+                jpegSizesList.remove(FULLHD);
+                jpegSizesList.remove(FULLHD_ALT);
+            }
+
+            // Check all sizes other than FullHD
+            if (hwLevel == LIMITED) {
+                // Remove all jpeg sizes larger than max video size
+                ArrayList<Size> toBeRemoved = new ArrayList<>();
+                for (Size size : jpegSizesList) {
+                    if (size.getWidth() >= maxVideoSize.getWidth() &&
+                            size.getHeight() >= maxVideoSize.getHeight()) {
+                        toBeRemoved.add(size);
+                    }
+                }
+                jpegSizesList.removeAll(toBeRemoved);
+            }
+
+            if (hwLevel == FULL || hwLevel == LIMITED) {
+                if (!yuvSizesList.containsAll(jpegSizesList)) {
+                    for (Size s : jpegSizesList) {
+                        if (!yuvSizesList.contains(s)) {
+                            fail("Size " + s + " not found in YUV format");
+                        }
+                    }
+                }
+            }
+
+            if (!privateSizesList.containsAll(yuvSizesList)) {
+                for (Size s : yuvSizesList) {
+                    if (!privateSizesList.contains(s)) {
+                        fail("Size " + s + " not found in PRIVATE format");
+                    }
+                }
+            }
 
             counter++;
         }
@@ -198,75 +301,76 @@
              * for a fact most keys are going to be illegal there so they should never be
              * available.
              *
-             * (TODO: Codegen this)
+             * For LIMITED-level keys, if the level is >= LIMITED, then the capabilities are used to
+             * do the actual checking.
              */
             {
                 //                                           (Key Name)                                     (HW Level)  (Capabilities <Var-Arg>)
-                expectKeyAvailable(c, CameraCharacteristics.COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES     , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_MODES                         , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES          , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES                      , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES          , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE                   , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP                    , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_LOCK_AVAILABLE                       , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES                      , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS                       , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES                   , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES     , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES                     , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AWB_LOCK_AVAILABLE                      , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AE                          , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AF                          , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AWB                         , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES     , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_MODES                         , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_ANTIBANDING_MODES          , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_MODES                      , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES          , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE                   , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP                    , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AE_LOCK_AVAILABLE                       , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES                      , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS                       , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES                   , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES     , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES                     , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_AWB_LOCK_AVAILABLE                      , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AE                          , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AF                          , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.CONTROL_MAX_REGIONS_AWB                         , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.EDGE_AVAILABLE_EDGE_MODES                       , FULL     ,   NONE                 );
-                expectKeyAvailable(c, CameraCharacteristics.FLASH_INFO_AVAILABLE                            , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.FLASH_INFO_AVAILABLE                            , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES             , OPT      ,   RAW                  );
-                expectKeyAvailable(c, CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL                   , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES                  , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.LENS_FACING                                     , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL                   , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.JPEG_AVAILABLE_THUMBNAIL_SIZES                  , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.LENS_FACING                                     , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_APERTURES                   , FULL     ,   MANUAL_SENSOR        );
                 expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_FILTER_DENSITIES            , FULL     ,   MANUAL_SENSOR        );
-                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS               , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION       , LIMITED  ,   MANUAL_SENSOR        );
+                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_FOCAL_LENGTHS               , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION       , LIMITED  ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_FOCUS_DISTANCE_CALIBRATION            , LIMITED  ,   MANUAL_SENSOR        );
-                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE                   , LIMITED  ,   MANUAL_SENSOR        );
-                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE                , LIMITED  ,   NONE                 );
-                expectKeyAvailable(c, CameraCharacteristics.NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES                  , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_HYPERFOCAL_DISTANCE                   , LIMITED  ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.LENS_INFO_MINIMUM_FOCUS_DISTANCE                , LIMITED  ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES                  , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_INPUT_STREAMS                   , OPT      ,   YUV_REPROCESS, OPAQUE_REPROCESS);
                 expectKeyAvailable(c, CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP                 , OPT      ,   CONSTRAINED_HIGH_SPEED);
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC                     , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC_STALLING            , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_RAW                      , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_PARTIAL_RESULT_COUNT                    , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.REQUEST_PIPELINE_MAX_DEPTH                      , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM               , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP                 , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SCALER_CROPPING_TYPE                            , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_AVAILABLE_TEST_PATTERN_MODES             , LEGACY   ,   NONE                 );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC                     , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_PROC_STALLING            , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_MAX_NUM_OUTPUT_RAW                      , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_PARTIAL_RESULT_COUNT                    , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.REQUEST_PIPELINE_MAX_DEPTH                      , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM               , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP                 , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SCALER_CROPPING_TYPE                            , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_AVAILABLE_TEST_PATTERN_MODES             , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_BLACK_LEVEL_PATTERN                      , FULL     ,   MANUAL_SENSOR, RAW   );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_CALIBRATION_TRANSFORM1                   , OPT      ,   RAW                  );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_COLOR_TRANSFORM1                         , OPT      ,   RAW                  );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_FORWARD_MATRIX1                          , OPT      ,   RAW                  );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE                   , LEGACY   ,   BC, RAW              );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE                   , OPT      ,   BC, RAW              );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_COLOR_FILTER_ARRANGEMENT            , FULL     ,   RAW                  );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_EXPOSURE_TIME_RANGE                 , FULL     ,   MANUAL_SENSOR        );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_MAX_FRAME_DURATION                  , FULL     ,   MANUAL_SENSOR        );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE                       , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_PIXEL_ARRAY_SIZE                    , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_PHYSICAL_SIZE                       , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_PIXEL_ARRAY_SIZE                    , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_SENSITIVITY_RANGE                   , FULL     ,   MANUAL_SENSOR        );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_WHITE_LEVEL                         , OPT      ,   RAW                  );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_TIMESTAMP_SOURCE                    , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_INFO_TIMESTAMP_SOURCE                    , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_MAX_ANALOG_SENSITIVITY                   , FULL     ,   MANUAL_SENSOR        );
-                expectKeyAvailable(c, CameraCharacteristics.SENSOR_ORIENTATION                              , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SENSOR_ORIENTATION                              , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.SENSOR_REFERENCE_ILLUMINANT1                    , OPT      ,   RAW                  );
                 expectKeyAvailable(c, CameraCharacteristics.SHADING_AVAILABLE_MODES                         , LIMITED  ,   MANUAL_POSTPROC, RAW );
-                expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES     , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES     , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES   , OPT      ,   RAW                  );
                 expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES, LIMITED  ,   RAW                  );
-                expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT                  , LEGACY   ,   BC                   );
-                expectKeyAvailable(c, CameraCharacteristics.SYNC_MAX_LATENCY                                , LEGACY   ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.STATISTICS_INFO_MAX_FACE_COUNT                  , OPT      ,   BC                   );
+                expectKeyAvailable(c, CameraCharacteristics.SYNC_MAX_LATENCY                                , OPT      ,   BC                   );
                 expectKeyAvailable(c, CameraCharacteristics.TONEMAP_AVAILABLE_TONE_MAP_MODES                , FULL     ,   MANUAL_POSTPROC      );
                 expectKeyAvailable(c, CameraCharacteristics.TONEMAP_MAX_CURVE_POINTS                        , FULL     ,   MANUAL_POSTPROC      );
 
@@ -383,6 +487,14 @@
             // Check if the burst capability is defined
             boolean haveBurstCapability = arrayContains(actualCapabilities,
                     CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE);
+            boolean haveBC = arrayContains(actualCapabilities,
+                    CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE);
+
+            if(haveBurstCapability && !haveBC) {
+                fail("Must have BACKWARD_COMPATIBLE capability if BURST_CAPTURE capability is defined");
+            }
+
+            if (!haveBC) continue;
 
             StreamConfigurationMap config =
                     c.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
@@ -544,58 +656,83 @@
                     c.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
             Integer maxNumInputStreams =
                     c.get(CameraCharacteristics.REQUEST_MAX_NUM_INPUT_STREAMS);
+            int[] availableEdgeModes = c.get(CameraCharacteristics.EDGE_AVAILABLE_EDGE_MODES);
+            int[] availableNoiseReductionModes = c.get(
+                    CameraCharacteristics.NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES);
 
             int[] inputFormats = configs.getInputFormats();
 
-            assertFalse("Doesn't support reprocessing but report input format: " +
-                    Arrays.toString(inputFormats), !supportYUV && !supportOpaque &&
-                    inputFormats.length > 0);
+            boolean supportZslEdgeMode = false;
+            boolean supportZslNoiseReductionMode = false;
 
-            assertFalse("Doesn't support reprocessing but max number of input stream is " +
-                    maxNumInputStreams, !supportYUV && !supportOpaque &&
-                    maxNumInputStreams != null && maxNumInputStreams != 0);
+            if (availableEdgeModes != null) {
+                supportZslEdgeMode = Arrays.asList(CameraTestUtils.toObject(availableEdgeModes)).
+                        contains(CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG);
+            }
+
+            if (availableNoiseReductionModes != null) {
+                supportZslNoiseReductionMode = Arrays.asList(
+                        CameraTestUtils.toObject(availableNoiseReductionModes)).contains(
+                        CaptureRequest.NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG);
+            }
 
             if (supportYUV || supportOpaque) {
-                assertTrue("Support reprocessing but max number of input stream is " +
+                mCollector.expectTrue("Support reprocessing but max number of input stream is " +
                         maxNumInputStreams, maxNumInputStreams != null && maxNumInputStreams > 0);
+                mCollector.expectTrue("Support reprocessing but EDGE_MODE_ZERO_SHUTTER_LAG is " +
+                        "not supported", supportZslEdgeMode);
+                mCollector.expectTrue("Support reprocessing but " +
+                        "NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG is not supported",
+                        supportZslNoiseReductionMode);
 
                 // Verify mandatory input formats are supported
-                assertTrue("YUV_420_888 input must be supported for YUV reprocessing",
+                mCollector.expectTrue("YUV_420_888 input must be supported for YUV reprocessing",
                         !supportYUV || arrayContains(inputFormats, ImageFormat.YUV_420_888));
-                assertTrue("PRIVATE input must be supported for OPAQUE reprocessing",
+                mCollector.expectTrue("PRIVATE input must be supported for OPAQUE reprocessing",
                         !supportOpaque || arrayContains(inputFormats, ImageFormat.PRIVATE));
 
                 // max capture stall must be reported if one of the reprocessing is supported.
                 final int MAX_ALLOWED_STALL_FRAMES = 4;
                 Integer maxCaptureStall = c.get(CameraCharacteristics.REPROCESS_MAX_CAPTURE_STALL);
-                assertTrue("max capture stall must be non-null and no larger than "
+                mCollector.expectTrue("max capture stall must be non-null and no larger than "
                         + MAX_ALLOWED_STALL_FRAMES,
                         maxCaptureStall != null && maxCaptureStall <= MAX_ALLOWED_STALL_FRAMES);
 
                 for (int input : inputFormats) {
                     // Verify mandatory output formats are supported
                     int[] outputFormats = configs.getValidOutputFormatsForInput(input);
-                    assertTrue("YUV_420_888 output must be supported for reprocessing",
+                    mCollector.expectTrue("YUV_420_888 output must be supported for reprocessing",
                             arrayContains(outputFormats, ImageFormat.YUV_420_888));
-                    assertTrue("JPEG output must be supported for reprocessing",
+                    mCollector.expectTrue("JPEG output must be supported for reprocessing",
                             arrayContains(outputFormats, ImageFormat.JPEG));
 
                     // Verify camera can output the reprocess input formats and sizes.
                     Size[] inputSizes = configs.getInputSizes(input);
                     Size[] outputSizes = configs.getOutputSizes(input);
                     Size[] highResOutputSizes = configs.getHighResolutionOutputSizes(input);
-                    assertTrue("no input size supported for format " + input,
+                    mCollector.expectTrue("no input size supported for format " + input,
                             inputSizes.length > 0);
-                    assertTrue("no output size supported for format " + input,
+                    mCollector.expectTrue("no output size supported for format " + input,
                             outputSizes.length > 0);
 
                     for (Size inputSize : inputSizes) {
-                        assertTrue("Camera must be able to output the supported reprocessing " +
-                                "input size",
+                        mCollector.expectTrue("Camera must be able to output the supported " +
+                                "reprocessing input size",
                                 arrayContains(outputSizes, inputSize) ||
                                 arrayContains(highResOutputSizes, inputSize));
                     }
                 }
+            } else {
+                mCollector.expectTrue("Doesn't support reprocessing but report input format: " +
+                        Arrays.toString(inputFormats), inputFormats.length == 0);
+                mCollector.expectTrue("Doesn't support reprocessing but max number of input " +
+                        "stream is " + maxNumInputStreams,
+                        maxNumInputStreams == null || maxNumInputStreams == 0);
+                mCollector.expectTrue("Doesn't support reprocessing but " +
+                        "EDGE_MODE_ZERO_SHUTTER_LAG is supported", !supportZslEdgeMode);
+                mCollector.expectTrue("Doesn't support reprocessing but " +
+                        "NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG is supported",
+                        !supportZslNoiseReductionMode);
             }
         }
     }
@@ -612,31 +749,41 @@
             assertNotNull(String.format("No stream configuration map found for: ID %s",
                             mIds[counter]), config);
 
-            assertTrue("ImageReader must be supported",
+            int[] actualCapabilities = c.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
+            assertNotNull("android.request.availableCapabilities must never be null",
+                    actualCapabilities);
+
+            if (arrayContains(actualCapabilities, BC)) {
+                assertTrue("ImageReader must be supported",
                     config.isOutputSupportedFor(android.media.ImageReader.class));
-            assertTrue("MediaRecorder must be supported",
+                assertTrue("MediaRecorder must be supported",
                     config.isOutputSupportedFor(android.media.MediaRecorder.class));
-            assertTrue("MediaCodec must be supported",
+                assertTrue("MediaCodec must be supported",
                     config.isOutputSupportedFor(android.media.MediaCodec.class));
-            assertTrue("Allocation must be supported",
+                assertTrue("Allocation must be supported",
                     config.isOutputSupportedFor(android.renderscript.Allocation.class));
-            assertTrue("SurfaceHolder must be supported",
+                assertTrue("SurfaceHolder must be supported",
                     config.isOutputSupportedFor(android.view.SurfaceHolder.class));
-            assertTrue("SurfaceTexture must be supported",
+                assertTrue("SurfaceTexture must be supported",
                     config.isOutputSupportedFor(android.graphics.SurfaceTexture.class));
 
-            assertTrue("YUV_420_888 must be supported",
+                assertTrue("YUV_420_888 must be supported",
                     config.isOutputSupportedFor(ImageFormat.YUV_420_888));
-            assertTrue("JPEG must be supported",
+                assertTrue("JPEG must be supported",
                     config.isOutputSupportedFor(ImageFormat.JPEG));
+            } else {
+                assertTrue("YUV_420_88 may not be supported if BACKWARD_COMPATIBLE capability is not listed",
+                    !config.isOutputSupportedFor(ImageFormat.YUV_420_888));
+                assertTrue("JPEG may not be supported if BACKWARD_COMPATIBLE capability is not listed",
+                    !config.isOutputSupportedFor(ImageFormat.JPEG));
+            }
 
             // Legacy YUV formats should not be listed
             assertTrue("NV21 must not be supported",
                     !config.isOutputSupportedFor(ImageFormat.NV21));
 
-            int[] actualCapabilities = c.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
-            assertNotNull("android.request.availableCapabilities must never be null",
-                    actualCapabilities);
+            // Check RAW
+
             if (arrayContains(actualCapabilities,
                     CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_RAW)) {
                 assertTrue("RAW_SENSOR must be supported if RAW capability is advertised",
@@ -754,49 +901,50 @@
             } // formats
 
             // Cross-check opaque format and sizes
+            if (arrayContains(actualCapabilities, BC)) {
+                SurfaceTexture st = new SurfaceTexture(1);
+                Surface surf = new Surface(st);
 
-            SurfaceTexture st = new SurfaceTexture(1);
-            Surface surf = new Surface(st);
+                Size[] opaqueSizes = CameraTestUtils.getSupportedSizeForClass(SurfaceTexture.class,
+                        mIds[counter], mCameraManager);
+                assertTrue("Opaque format has no sizes listed",
+                        opaqueSizes.length > 0);
+                for (Size size : opaqueSizes) {
+                    long stallDuration = config.getOutputStallDuration(SurfaceTexture.class, size);
+                    assertTrue("Opaque output may not have a non-zero stall duration",
+                            stallDuration == 0);
 
-            Size[] opaqueSizes = CameraTestUtils.getSupportedSizeForClass(SurfaceTexture.class,
-                    mIds[counter], mCameraManager);
-            assertTrue("Opaque format has no sizes listed",
-                    opaqueSizes.length > 0);
-            for (Size size : opaqueSizes) {
-                long stallDuration = config.getOutputStallDuration(SurfaceTexture.class, size);
-                assertTrue("Opaque output may not have a non-zero stall duration",
-                        stallDuration == 0);
+                    long minDuration = config.getOutputMinFrameDuration(SurfaceTexture.class, size);
+                    if (arrayContains(actualCapabilities,
+                                    CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {
+                        assertTrue("MANUAL_SENSOR capability, need positive min frame duration for"
+                                + "opaque format",
+                                minDuration > 0);
+                    } else {
+                        assertTrue("Need non-negative min frame duration for opaque format ",
+                                minDuration >= 0);
+                    }
+                    st.setDefaultBufferSize(size.getWidth(), size.getHeight());
 
-                long minDuration = config.getOutputMinFrameDuration(SurfaceTexture.class, size);
-                if (arrayContains(actualCapabilities,
-                                CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {
-                    assertTrue("MANUAL_SENSOR capability, need positive min frame duration for"
-                            + "opaque format",
-                            minDuration > 0);
-                } else {
-                    assertTrue("Need non-negative min frame duration for opaque format ",
-                            minDuration >= 0);
-                }
-                st.setDefaultBufferSize(size.getWidth(), size.getHeight());
+                    assertTrue(
+                            String.format("isOutputSupportedFor fails for SurfaceTexture config %s",
+                                    size.toString()),
+                            config.isOutputSupportedFor(surf));
 
+                } // opaque sizes
+
+                // Try invalid opaque size, should get rounded
+                Size invalidSize = findInvalidSize(opaqueSizes);
+                st.setDefaultBufferSize(invalidSize.getWidth(), invalidSize.getHeight());
                 assertTrue(
-                    String.format("isOutputSupportedFor fails for SurfaceTexture config %s",
-                            size.toString()),
-                    config.isOutputSupportedFor(surf));
+                        String.format("isOutputSupportedFor fails for SurfaceTexture config %s",
+                                invalidSize.toString()),
+                        config.isOutputSupportedFor(surf));
 
-            } // opaque sizes
+                counter++;
+            }
 
-            // Try invalid opaque size, should get rounded
-            Size invalidSize = findInvalidSize(opaqueSizes);
-            st.setDefaultBufferSize(invalidSize.getWidth(), invalidSize.getHeight());
-            assertTrue(
-                String.format("isOutputSupportedFor fails for SurfaceTexture config %s",
-                        invalidSize.toString()),
-                config.isOutputSupportedFor(surf));
-
-            counter++;
         } // mCharacteristics
-
     }
 
     /**
@@ -918,7 +1066,8 @@
 
         T value = c.get(key);
 
-        if (compareHardwareLevel(actualHwLevel, hwLevel) >= 0) {
+        // For LIMITED-level targeted keys, rely on capability check, not level
+        if ((compareHardwareLevel(actualHwLevel, hwLevel) >= 0) && (hwLevel != LIMITED)) {
             mCollector.expectTrue(
                     String.format("Key (%s) must be in characteristics for this hardware level " +
                             "(required minimal HW level %s, actual HW level %s)",
@@ -932,18 +1081,21 @@
                             toStringHardwareLevel(actualHwLevel)),
                     allKeys.contains(key));
         } else if (arrayContainsAnyOf(actualCapabilities, capabilities)) {
-            mCollector.expectTrue(
+            if (!(hwLevel == LIMITED && compareHardwareLevel(actualHwLevel, hwLevel) < 0)) {
+                // Don't enforce LIMITED-starting keys on LEGACY level, even if cap is defined
+                mCollector.expectTrue(
                     String.format("Key (%s) must be in characteristics for these capabilities " +
                             "(required capabilities %s, actual capabilities %s)",
                             key.getName(), Arrays.toString(capabilities),
                             Arrays.toString(actualCapabilities)),
                     value != null);
-            mCollector.expectTrue(
+                mCollector.expectTrue(
                     String.format("Key (%s) must be in characteristics list of keys for " +
                             "these capabilities (required capabilities %s, actual capabilities %s)",
                             key.getName(), Arrays.toString(capabilities),
                             Arrays.toString(actualCapabilities)),
                     allKeys.contains(key));
+            }
         } else {
             if (actualHwLevel == LEGACY && hwLevel != OPT) {
                 if (value != null || allKeys.contains(key)) {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
index 8cba6fd..7c80c7d 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
@@ -66,8 +66,12 @@
     private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
-    // number of frame (for streaming requests) to be verified.
+    // Number of frame (for streaming requests) to be verified.
     private static final int NUM_FRAME_VERIFIED = 2;
+    // Number of frame (for streaming requests) to be verified with log processing time.
+    private static final int NUM_LONG_PROCESS_TIME_FRAME_VERIFIED = 10;
+    // The time to hold each image for to simulate long processing time.
+    private static final int LONG_PROCESS_TIME_MS = 300;
     // Max number of images can be accessed simultaneously from ImageReader.
     private static final int MAX_NUM_IMAGES = 5;
     // Max difference allowed between YUV and JPEG patches. This tolerance is intentionally very
@@ -104,6 +108,30 @@
         }
     }
 
+    public void testDepth16() throws Exception {
+        for (String id : mCameraIds) {
+            try {
+                Log.i(TAG, "Testing Camera " + id);
+                openDevice(id);
+                bufferFormatTestByCamera(ImageFormat.DEPTH16, /*repeating*/true);
+            } finally {
+                closeDevice(id);
+            }
+        }
+    }
+
+    public void testDepthPointCloud() throws Exception {
+        for (String id : mCameraIds) {
+            try {
+                Log.i(TAG, "Testing Camera " + id);
+                openDevice(id);
+                bufferFormatTestByCamera(ImageFormat.DEPTH_POINT_CLOUD, /*repeating*/true);
+            } finally {
+                closeDevice(id);
+            }
+        }
+    }
+
     public void testJpeg() throws Exception {
         for (String id : mCameraIds) {
             try {
@@ -154,6 +182,30 @@
         }
     }
 
+    public void testLongProcessingRepeatingRaw() throws Exception {
+        for (String id : mCameraIds) {
+            try {
+                Log.v(TAG, "Testing long processing on repeating raw for camera " + id);
+                openDevice(id);
+                bufferFormatLongProcessingTimeTestByCamera(ImageFormat.RAW_SENSOR);
+            } finally {
+                closeDevice(id);
+            }
+        }
+    }
+
+    public void testLongProcessingRepeatingFlexibleYuv() throws Exception {
+        for (String id : mCameraIds) {
+            try {
+                Log.v(TAG, "Testing long processing on repeating YUV for camera " + id);
+                openDevice(id);
+                bufferFormatLongProcessingTimeTestByCamera(ImageFormat.YUV_420_888);
+            } finally {
+                closeDevice(id);
+            }
+        }
+    }
+
     /**
      * Test invalid access of image after an image is closed, further access
      * of the image will get an IllegalStateException. The basic assumption of
@@ -185,7 +237,11 @@
             try {
                 Log.v(TAG, "YUV and JPEG testing for camera " + id);
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 bufferFormatWithYuvTestByCamera(ImageFormat.JPEG);
             } finally {
                 closeDevice(id);
@@ -202,7 +258,11 @@
             try {
                 Log.v(TAG, "YUV and RAW testing for camera " + id);
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 bufferFormatWithYuvTestByCamera(ImageFormat.RAW_SENSOR);
             } finally {
                 closeDevice(id);
@@ -220,6 +280,11 @@
                 Log.v(TAG, "Testing all YUV image resolutions for camera " + id);
                 openDevice(id);
 
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
+
                 // Skip warmup on FULL mode devices.
                 int warmupCaptureNumber = (mStaticInfo.isHardwareLevelLegacy()) ?
                         MAX_NUM_IMAGES - 1 : 0;
@@ -594,7 +659,9 @@
     }
 
     private void invalidAccessTestAfterClose() throws Exception {
-        final int FORMAT = ImageFormat.YUV_420_888;
+        final int FORMAT = mStaticInfo.isColorOutputSupported() ?
+            ImageFormat.YUV_420_888 : ImageFormat.DEPTH16;
+
         Size[] availableSizes = mStaticInfo.getAvailableSizesForFormatChecked(FORMAT,
                 StaticMetadata.StreamDirection.Output);
         Image img = null;
@@ -655,6 +722,94 @@
         }
     }
 
+    private void bufferFormatLongProcessingTimeTestByCamera(int format)
+            throws Exception {
+
+        final int TEST_SENSITIVITY_VALUE = mStaticInfo.getSensitivityClampToRange(204);
+        final long TEST_EXPOSURE_TIME_NS = mStaticInfo.getExposureClampToRange(28000000);
+        final long EXPOSURE_TIME_ERROR_MARGIN_NS = 100000;
+
+        Size[] availableSizes = mStaticInfo.getAvailableSizesForFormatChecked(format,
+                StaticMetadata.StreamDirection.Output);
+
+        // for each resolution, test imageReader:
+        for (Size sz : availableSizes) {
+            Log.v(TAG, "testing size " + sz.toString());
+            try {
+                if (VERBOSE) {
+                    Log.v(TAG, "Testing long processing time: size " + sz.toString() + " format " +
+                            format + " for camera " + mCamera.getId());
+                }
+
+                // Create ImageReader.
+                mListener  = new SimpleImageListener();
+                createDefaultImageReader(sz, format, MAX_NUM_IMAGES, mListener);
+
+                // Setting manual controls
+                List<Surface> outputSurfaces = new ArrayList<Surface>();
+                outputSurfaces.add(mReader.getSurface());
+                CaptureRequest.Builder requestBuilder = prepareCaptureRequestForSurfaces(
+                        outputSurfaces, CameraDevice.TEMPLATE_STILL_CAPTURE);
+
+                requestBuilder.set(
+                        CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_OFF);
+                requestBuilder.set(CaptureRequest.CONTROL_AE_LOCK, true);
+                requestBuilder.set(CaptureRequest.CONTROL_AWB_LOCK, true);
+                requestBuilder.set(CaptureRequest.CONTROL_AE_MODE,
+                        CaptureRequest.CONTROL_AE_MODE_OFF);
+                requestBuilder.set(CaptureRequest.CONTROL_AWB_MODE,
+                        CaptureRequest.CONTROL_AWB_MODE_OFF);
+                requestBuilder.set(CaptureRequest.SENSOR_SENSITIVITY, TEST_SENSITIVITY_VALUE);
+                requestBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, TEST_EXPOSURE_TIME_NS);
+
+                SimpleCaptureCallback listener = new SimpleCaptureCallback();
+                startCapture(requestBuilder.build(), /*repeating*/true, listener, mHandler);
+
+                for (int i = 0; i < NUM_LONG_PROCESS_TIME_FRAME_VERIFIED; i++) {
+                    mListener.waitForAnyImageAvailable(CAPTURE_WAIT_TIMEOUT_MS);
+
+                    // Verify image.
+                    Image img = mReader.acquireNextImage();
+                    assertNotNull("Unable to acquire next image", img);
+                    CameraTestUtils.validateImage(img, sz.getWidth(), sz.getHeight(), format,
+                            DEBUG_FILE_NAME_BASE);
+
+                    // Verify the exposure time and iso match the requested values.
+                    CaptureResult result = listener.getCaptureResult(CAPTURE_RESULT_TIMEOUT_MS);
+
+                    long exposureTimeDiff = TEST_EXPOSURE_TIME_NS -
+                            getValueNotNull(result, CaptureResult.SENSOR_EXPOSURE_TIME);
+                    int sensitivityDiff = TEST_SENSITIVITY_VALUE -
+                            getValueNotNull(result, CaptureResult.SENSOR_SENSITIVITY);
+
+                    mCollector.expectTrue(
+                            String.format("Long processing frame %d format %d size %s " +
+                                    "exposure time was %d expecting %d.", i, format, sz.toString(),
+                                    getValueNotNull(result, CaptureResult.SENSOR_EXPOSURE_TIME),
+                                    TEST_EXPOSURE_TIME_NS),
+                            exposureTimeDiff < EXPOSURE_TIME_ERROR_MARGIN_NS &&
+                            exposureTimeDiff > 0);
+
+                    mCollector.expectTrue(
+                            String.format("Long processing frame %d format %d size %s " +
+                                    "sensitivity was %d expecting %d.", i, format, sz.toString(),
+                                    getValueNotNull(result, CaptureResult.SENSOR_SENSITIVITY),
+                                    TEST_SENSITIVITY_VALUE),
+                            sensitivityDiff == 0);
+
+
+                    // Sleep to Simulate long porcessing before closing the image.
+                    Thread.sleep(LONG_PROCESS_TIME_MS);
+                    img.close();
+                }
+                // stop capture.
+                stopCapture(/*fast*/false);
+            } finally {
+                closeDefaultImageReader();
+            }
+        }
+    }
+
     /**
      * Validate capture results.
      *
@@ -753,7 +908,7 @@
             if (VERBOSE) Log.v(TAG, "Got the latest image");
             CameraTestUtils.validateImage(img, sz.getWidth(), sz.getHeight(), format,
                     DEBUG_FILE_NAME_BASE);
-            if (VERBOSE) Log.v(TAG, "finish vaildation of image " + numImageVerified);
+            if (VERBOSE) Log.v(TAG, "finish validation of image " + numImageVerified);
             img.close();
             numImageVerified++;
             reTryCount = 0;
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageWriterTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageWriterTest.java
index be96aeb..167e637 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageWriterTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageWriterTest.java
@@ -93,6 +93,10 @@
             try {
                 Log.i(TAG, "Testing Camera " + id);
                 openDevice(id);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 readerWriterFormatTestByCamera(ImageFormat.YUV_420_888);
             } finally {
                 closeDevice(id);
@@ -124,6 +128,10 @@
             try {
                 Log.i(TAG, "Testing Camera " + id);
                 openDevice(id);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 readerWriterFormatTestByCamera(CAMERA_PRIVATE_FORMAT);
             } finally {
                 closeDevice(id);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
index 0d0ecb4..dfba587f 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
@@ -47,10 +47,29 @@
 
     public void testTextureViewPreview() throws Exception {
         for (String cameraId : mCameraIds) {
-            openCamera(cameraId);
-            List<TextureView> views = Arrays.asList(mTextureView[0]);
-            textureViewPreview(cameraId, views, /*ImageReader*/null);
-            closeCamera(cameraId);
+            Exception prior = null;
+
+            try {
+                openCamera(cameraId);
+                if (!getStaticInfo(cameraId).isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + cameraId + " does not support color outputs, skipping");
+                    continue;
+                }
+                List<TextureView> views = Arrays.asList(mTextureView[0]);
+                textureViewPreview(cameraId, views, /*ImageReader*/null);
+            } catch (Exception e) {
+                prior = e;
+            } finally {
+                try {
+                    closeCamera(cameraId);
+                } catch (Exception e) {
+                    if (prior != null) {
+                        Log.e(TAG, "Prior exception received: " + prior);
+                    }
+                    prior = e;
+                }
+                if (prior != null) throw prior; // Rethrow last exception.
+            }
         }
     }
 
@@ -63,6 +82,10 @@
 
             try {
                 openCamera(cameraId);
+                if (!getStaticInfo(cameraId).isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + cameraId + " does not support color outputs, skipping");
+                    continue;
+                }
                 Size previewSize = getOrderedPreviewSizes(cameraId).get(0);
                 yuvListener =
                         new ImageVerifierListener(previewSize, ImageFormat.YUV_420_888);
@@ -96,6 +119,10 @@
             Exception prior = null;
             try {
                 openCamera(cameraId);
+                if (!getStaticInfo(cameraId).isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + cameraId + " does not support color outputs, skipping");
+                    continue;
+                }
                 int maxNumStreamsProc =
                         getStaticInfo(cameraId).getMaxNumOutputStreamsProcessedChecked();
                 if (maxNumStreamsProc < 2) {
@@ -128,6 +155,10 @@
 
             try {
                 openCamera(cameraId);
+                if (!getStaticInfo(cameraId).isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + cameraId + " does not support color outputs, skipping");
+                    continue;
+                }
                 Size previewSize = getOrderedPreviewSizes(cameraId).get(0);
                 yuvListener =
                         new ImageVerifierListener(previewSize, ImageFormat.YUV_420_888);
@@ -165,6 +196,11 @@
         try {
             for (int i = 0; i < NUM_CAMERAS_TESTED; i++) {
                 openCamera(mCameraIds[i]);
+                if (!getStaticInfo(mCameraIds[i]).isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 List<TextureView> views = Arrays.asList(mTextureView[i]);
 
                 startTextureViewPreview(mCameraIds[i], views, /*ImageReader*/null);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
index 8dbceae..f84111a 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
@@ -109,7 +109,9 @@
      * case, there is no way for client to know the exact preview frame
      * arrival time. To approximate this time, a companion YUV420_888 stream is
      * created. The first YUV420_888 Image coming out of the ImageReader is treated
-     * as the first preview arrival time.
+     * as the first preview arrival time.</p>
+     * <p>
+     * For depth-only devices, timing is done with the DEPTH16 format instead.
      * </p>
      */
     public void testCameraLaunch() throws Exception {
@@ -124,7 +126,15 @@
         int counter = 0;
         for (String id : mCameraIds) {
             try {
-                initializeImageReader(id, ImageFormat.YUV_420_888);
+                mStaticInfo = new StaticMetadata(mCameraManager.getCameraCharacteristics(id));
+                if (mStaticInfo.isColorOutputSupported()) {
+                    initializeImageReader(id, ImageFormat.YUV_420_888);
+                } else {
+                    assertTrue("Depth output must be supported if regular output isn't!",
+                            mStaticInfo.isDepthOutputSupported());
+                    initializeImageReader(id, ImageFormat.DEPTH16);
+                }
+
                 SimpleImageListener imageListener = null;
                 long startTimeMs, openTimeMs, configureTimeMs, previewStartedTimeMs;
                 for (int i = 0; i < NUM_TEST_LOOPS; i++) {
@@ -195,8 +205,10 @@
             }
             counter++;
         }
-        mReportLog.printSummary("Camera launch average time for all cameras ",
-                Stat.getAverage(avgCameraLaunchTimes), ResultType.LOWER_BETTER, ResultUnit.MS);
+        if (mCameraIds.length != 0) {
+            mReportLog.printSummary("Camera launch average time for all cameras ",
+                    Stat.getAverage(avgCameraLaunchTimes), ResultType.LOWER_BETTER, ResultUnit.MS);
+        }
     }
 
     /**
@@ -223,6 +235,12 @@
             try {
                 openDevice(id);
 
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
+
+
                 boolean partialsExpected = mStaticInfo.getPartialResultCount() > 1;
                 long startTimeMs;
                 boolean isPartialTimingValid = partialsExpected;
@@ -306,8 +324,10 @@
         }
 
         // Result will not be reported in CTS report if no summary is printed.
-        mReportLog.printSummary("Camera capture result average latency for all cameras ",
-                Stat.getAverage(avgResultTimes), ResultType.LOWER_BETTER, ResultUnit.MS);
+        if (mCameraIds.length != 0) {
+            mReportLog.printSummary("Camera capture result average latency for all cameras ",
+                    Stat.getAverage(avgResultTimes), ResultType.LOWER_BETTER, ResultUnit.MS);
+        }
     }
 
     /**
@@ -656,7 +676,9 @@
 
         CaptureRequest.Builder previewBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        previewBuilder.addTarget(mPreviewSurface);
+        if (mStaticInfo.isColorOutputSupported()) {
+            previewBuilder.addTarget(mPreviewSurface);
+        }
         previewBuilder.addTarget(mReaderSurface);
         mSession.setRepeatingRequest(previewBuilder.build(), listener, mHandler);
         imageListener.waitForImageAvailable(CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS);
@@ -671,7 +693,9 @@
         }
         mSessionListener = new BlockingSessionCallback();
         List<Surface> outputSurfaces = new ArrayList<>();
-        outputSurfaces.add(mPreviewSurface);
+        if (mStaticInfo.isColorOutputSupported()) {
+            outputSurfaces.add(mPreviewSurface);
+        }
         outputSurfaces.add(mReaderSurface);
         mSession = CameraTestUtils.configureCameraSession(mCamera, outputSurfaces,
                 mSessionListener, mHandler);
@@ -683,8 +707,10 @@
      * @param format The format used to create ImageReader instance.
      */
     private void initializeImageReader(String cameraId, int format) throws Exception {
-        mOrderedPreviewSizes = CameraTestUtils.getSupportedPreviewSizes(
-                cameraId, mCameraManager, CameraTestUtils.PREVIEW_SIZE_BOUND);
+        mOrderedPreviewSizes = CameraTestUtils.getSortedSizesForFormat(
+                cameraId, mCameraManager, format,
+                CameraTestUtils.getPreviewSizeBound(mWindowManager,
+                    CameraTestUtils.PREVIEW_SIZE_BOUND));
         Size maxPreviewSize = mOrderedPreviewSizes.get(0);
         createImageReader(maxPreviewSize, format, NUM_MAX_IMAGES, /*listener*/null);
         updatePreviewSurface(maxPreviewSize);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
index cd4b731..fd9955a 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
@@ -17,6 +17,7 @@
 import android.graphics.ImageFormat;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraCaptureSession;
+import android.hardware.camera2.CameraConstrainedHighSpeedCaptureSession;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
@@ -108,7 +109,11 @@
                 // Re-use the MediaRecorder object for the same camera device.
                 mMediaRecorder = new MediaRecorder();
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 initSupportedVideoSize(mCameraIds[i]);
 
                 basicRecordingTestByCamera(mCamcorderProfileList);
@@ -173,7 +178,11 @@
                 // Re-use the MediaRecorder object for the same camera device.
                 mMediaRecorder = new MediaRecorder();
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 initSupportedVideoSize(mCameraIds[i]);
 
                 recordingSizeTestByCamera();
@@ -270,7 +279,11 @@
                 // Re-use the MediaRecorder object for the same camera device.
                 mMediaRecorder = new MediaRecorder();
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 initSupportedVideoSize(mCameraIds[i]);
 
                 int minFpsProfileId = -1, minFps = 1000;
@@ -322,7 +335,11 @@
                 // Re-use the MediaRecorder object for the same camera device.
                 mMediaRecorder = new MediaRecorder();
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 if (!mStaticInfo.isHighSpeedVideoSupported()) {
                     continue;
                 }
@@ -525,7 +542,8 @@
             requestBuilder.set(CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE, fpsRange);
             requestBuilder.addTarget(mPreviewSurface);
             requestBuilder.addTarget(mRecordingSurface);
-            slowMoRequests = mCamera.createConstrainedHighSpeedRequestList(requestBuilder.build());
+            slowMoRequests = ((CameraConstrainedHighSpeedCaptureSession) mSession).
+                    createHighSpeedRequestList(requestBuilder.build());
         } else {
             CaptureRequest.Builder recordingRequestBuilder =
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_RECORD);
@@ -706,6 +724,12 @@
 
                     openDevice(id);
 
+                    if (!mStaticInfo.isColorOutputSupported()) {
+                        Log.i(TAG, "Camera " + id +
+                                " does not support color outputs, skipping");
+                        continue;
+                    }
+
                     initSupportedVideoSize(id);
 
                     videoSnapshotTestByCamera(burstTest);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/ReprocessCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/ReprocessCaptureTest.java
index 6242776..8a60dc2 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ReprocessCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ReprocessCaptureTest.java
@@ -54,7 +54,7 @@
     private static final int CAPTURE_TIMEOUT_MS = 3000;
     private static final int WAIT_FOR_SURFACE_CHANGE_TIMEOUT_MS = 1000;
     private static final int CAPTURE_TEMPLATE = CameraDevice.TEMPLATE_ZERO_SHUTTER_LAG;
-    private static final int PREVIEW_TEMPLATE = CameraDevice.TEMPLATE_PREVIEW;
+    private static final int ZSL_TEMPLATE = CameraDevice.TEMPLATE_ZERO_SHUTTER_LAG;
     private static final int NUM_REPROCESS_TEST_LOOP = 3;
     private static final int NUM_REPROCESS_CAPTURES = 3;
     private static final int NUM_REPROCESS_BURST = 3;
@@ -979,7 +979,6 @@
      *   2. NOISE_REDUCTION_MODE
      *   3. REPROCESS_EFFECTIVE_EXPOSURE_FACTOR (only for YUV reprocess)
      */
-
     private void testReprocessRequestKeys(String cameraId, Size inputSize, int inputFormat,
             Size reprocessOutputSize, int reprocessOutputFormat) throws Exception {
         if (VERBOSE) {
@@ -989,10 +988,13 @@
         }
 
         final Integer[] EDGE_MODES = {CaptureRequest.EDGE_MODE_FAST,
-                CaptureRequest.EDGE_MODE_HIGH_QUALITY, CaptureRequest.EDGE_MODE_OFF};
+                CaptureRequest.EDGE_MODE_HIGH_QUALITY, CaptureRequest.EDGE_MODE_OFF,
+                CaptureRequest.EDGE_MODE_ZERO_SHUTTER_LAG};
         final Integer[] NR_MODES = {CaptureRequest.NOISE_REDUCTION_MODE_HIGH_QUALITY,
-                CaptureRequest.NOISE_REDUCTION_MODE_OFF, CaptureRequest.NOISE_REDUCTION_MODE_FAST};
-        final Float[] EFFECTIVE_EXP_FACTORS = {null, 1.0f, 2.5f};
+                CaptureRequest.NOISE_REDUCTION_MODE_OFF,
+                CaptureRequest.NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG,
+                CaptureRequest.NOISE_REDUCTION_MODE_FAST};
+        final Float[] EFFECTIVE_EXP_FACTORS = {null, 1.0f, 2.5f, 4.0f};
         int numFrames = EDGE_MODES.length;
 
         try {
@@ -1240,7 +1242,7 @@
      * Start preview without a listener.
      */
     private void startPreview(Surface previewSurface) throws Exception {
-        CaptureRequest.Builder builder = mCamera.createCaptureRequest(PREVIEW_TEMPLATE);
+        CaptureRequest.Builder builder = mCamera.createCaptureRequest(ZSL_TEMPLATE);
         builder.addTarget(previewSurface);
         mSession.setRepeatingRequest(builder.build(), null, mHandler);
     }
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
index 4b213fe..34f2d85 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
@@ -19,11 +19,13 @@
 import static android.hardware.camera2.cts.CameraTestUtils.*;
 import static android.hardware.camera2.cts.RobustnessTest.MaxStreamSizes.*;
 
+import android.content.Context;
 import android.graphics.ImageFormat;
 import android.graphics.SurfaceTexture;
 import android.hardware.camera2.CameraCaptureSession;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraDevice;
+import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
 import android.hardware.camera2.TotalCaptureResult;
@@ -38,7 +40,9 @@
 import android.media.ImageWriter;
 import android.util.Log;
 import android.util.Size;
+import android.view.Display;
 import android.view.Surface;
+import android.view.WindowManager;
 
 import com.android.ex.camera2.blocking.BlockingSessionCallback;
 
@@ -77,10 +81,17 @@
                 Log.i(TAG, "Testing Camera " + id);
                 openDevice(id);
 
+                List<Size> testSizes = null;
+                int format = mStaticInfo.isColorOutputSupported() ?
+                    ImageFormat.YUV_420_888 : ImageFormat.DEPTH16;
+
+                testSizes = CameraTestUtils.getSortedSizesForFormat(id, mCameraManager,
+                        format, null);
+
                 // Find some size not supported by the camera
                 Size weirdSize = new Size(643, 577);
                 int count = 0;
-                while(mOrderedPreviewSizes.contains(weirdSize)) {
+                while(testSizes.contains(weirdSize)) {
                     // Really, they can't all be supported...
                     weirdSize = new Size(weirdSize.getWidth() + 1, weirdSize.getHeight() + 1);
                     count++;
@@ -89,7 +100,7 @@
 
                 // Setup imageReader with invalid dimension
                 ImageReader imageReader = ImageReader.newInstance(weirdSize.getWidth(),
-                        weirdSize.getHeight(), ImageFormat.YUV_420_888, 3);
+                        weirdSize.getHeight(), format, 3);
 
                 // Setup ImageReaderListener
                 SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
@@ -134,7 +145,7 @@
                 Size actualSize = new Size(imageWidth, imageHeight);
 
                 assertTrue("Camera does not contain outputted image resolution " + actualSize,
-                        mOrderedPreviewSizes.contains(actualSize));
+                        testSizes.contains(actualSize));
             } finally {
                 closeDevice(id);
             }
@@ -208,7 +219,7 @@
             openDevice(id);
 
             // Find the concrete max sizes for each format/resolution combination
-            MaxStreamSizes maxSizes = new MaxStreamSizes(mStaticInfo, id);
+            MaxStreamSizes maxSizes = new MaxStreamSizes(mStaticInfo, id, getContext());
 
             String streamConfigurationMapString =
                     mStaticInfo.getCharacteristics().get(
@@ -217,10 +228,12 @@
                 Log.v(TAG, "StreamConfigurationMap: " + streamConfigurationMapString);
             }
 
-            // Always run legacy-level tests
+            // Always run legacy-level tests for color-supporting devices
 
-            for (int[] config : LEGACY_COMBINATIONS) {
-                testOutputCombination(id, config, maxSizes);
+            if (mStaticInfo.isColorOutputSupported()) {
+                for (int[] config : LEGACY_COMBINATIONS) {
+                    testOutputCombination(id, config, maxSizes);
+                }
             }
 
             // Then run higher-level tests if applicable
@@ -229,8 +242,10 @@
 
                 // If not legacy, at least limited, so run limited-level tests
 
-                for (int[] config : LIMITED_COMBINATIONS) {
-                    testOutputCombination(id, config, maxSizes);
+                if (mStaticInfo.isColorOutputSupported()) {
+                    for (int[] config : LIMITED_COMBINATIONS) {
+                        testOutputCombination(id, config, maxSizes);
+                    }
                 }
 
                 // Check for BURST_CAPTURE, FULL and RAW and run those if appropriate
@@ -320,7 +335,7 @@
         for (String id : mCameraIds) {
             CameraCharacteristics cc = mCameraManager.getCameraCharacteristics(id);
             StaticMetadata staticInfo = new StaticMetadata(cc);
-            MaxStreamSizes maxSizes = new MaxStreamSizes(staticInfo, id);
+            MaxStreamSizes maxSizes = new MaxStreamSizes(staticInfo, id, getContext());
 
             // Skip the test for legacy devices.
             if (staticInfo.isHardwareLevelLegacy()) {
@@ -366,6 +381,11 @@
                 if (mStaticInfo.isHardwareLevelLegacy() || !mStaticInfo.hasFocuser()) {
                     continue;
                 }
+                // Depth-only devices won't support AE
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
 
                 int[] availableAfModes = mStaticInfo.getCharacteristics().get(
                     CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
@@ -502,6 +522,11 @@
                 if (mStaticInfo.isHardwareLevelLegacy() || !mStaticInfo.hasFocuser()) {
                     continue;
                 }
+                // Depth-only devices won't support AE
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
 
                 int[] availableAfModes = mStaticInfo.getCharacteristics().get(
                     CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
@@ -601,6 +626,11 @@
                 if (mStaticInfo.isHardwareLevelLegacy() || !mStaticInfo.hasFocuser()) {
                     continue;
                 }
+                // Depth-only devices won't support AE
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
 
                 int[] availableAfModes = mStaticInfo.getCharacteristics().get(
                     CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
@@ -714,6 +744,11 @@
                 if (mStaticInfo.isHardwareLevelLegacy() || !mStaticInfo.hasFocuser()) {
                     continue;
                 }
+                // Depth-only devices won't support AE
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
 
                 int[] availableAfModes = mStaticInfo.getCharacteristics().get(
                     CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES);
@@ -1027,7 +1062,7 @@
         static final int VGA = 3;
         static final int RESOLUTION_COUNT = 4;
 
-        public MaxStreamSizes(StaticMetadata sm, String cameraId) {
+        public MaxStreamSizes(StaticMetadata sm, String cameraId, Context context) {
             Size[] privSizes = sm.getAvailableSizesForFormatChecked(ImageFormat.PRIVATE,
                     StaticMetadata.StreamDirection.Output);
             Size[] yuvSizes = sm.getAvailableSizesForFormatChecked(ImageFormat.YUV_420_888,
@@ -1035,19 +1070,29 @@
             Size[] jpegSizes = sm.getJpegOutputSizesChecked();
             Size[] rawSizes = sm.getRawOutputSizesChecked();
 
+            Size maxPreviewSize = getMaxPreviewSize(context, cameraId);
+
             maxRawSize = (rawSizes.length != 0) ? CameraTestUtils.getMaxSize(rawSizes) : null;
 
-            maxPrivSizes[PREVIEW] = getMaxSize(privSizes, PREVIEW_SIZE_BOUND);
-            maxYuvSizes[PREVIEW]  = getMaxSize(yuvSizes, PREVIEW_SIZE_BOUND);
-            maxJpegSizes[PREVIEW] = getMaxSize(jpegSizes, PREVIEW_SIZE_BOUND);
+            if (sm.isColorOutputSupported()) {
+                maxPrivSizes[PREVIEW] = getMaxSize(privSizes, maxPreviewSize);
+                maxYuvSizes[PREVIEW]  = getMaxSize(yuvSizes, maxPreviewSize);
+                maxJpegSizes[PREVIEW] = getMaxSize(jpegSizes, maxPreviewSize);
 
-            maxPrivSizes[RECORD] = getMaxRecordingSize(cameraId);
-            maxYuvSizes[RECORD]  = getMaxRecordingSize(cameraId);
-            maxJpegSizes[RECORD] = getMaxRecordingSize(cameraId);
+                maxPrivSizes[RECORD] = getMaxRecordingSize(cameraId);
+                maxYuvSizes[RECORD]  = getMaxRecordingSize(cameraId);
+                maxJpegSizes[RECORD] = getMaxRecordingSize(cameraId);
 
-            maxPrivSizes[MAXIMUM] = CameraTestUtils.getMaxSize(privSizes);
-            maxYuvSizes[MAXIMUM] = CameraTestUtils.getMaxSize(yuvSizes);
-            maxJpegSizes[MAXIMUM] = CameraTestUtils.getMaxSize(jpegSizes);
+                maxPrivSizes[MAXIMUM] = CameraTestUtils.getMaxSize(privSizes);
+                maxYuvSizes[MAXIMUM] = CameraTestUtils.getMaxSize(yuvSizes);
+                maxJpegSizes[MAXIMUM] = CameraTestUtils.getMaxSize(jpegSizes);
+
+                // Must always be supported, add unconditionally
+                final Size vgaSize = new Size(640, 480);
+                maxPrivSizes[VGA] = vgaSize;
+                maxYuvSizes[VGA] = vgaSize;
+                maxJpegSizes[VGA] = vgaSize;
+            }
 
             StreamConfigurationMap configs = sm.getCharacteristics().get(
                     CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
@@ -1058,11 +1103,6 @@
             maxInputYuvSize = yuvInputSizes != null ?
                     CameraTestUtils.getMaxSize(yuvInputSizes) : null;
 
-            // Must always be supported, add unconditionally
-            final Size vgaSize = new Size(640, 480);
-            maxPrivSizes[VGA] = vgaSize;
-            maxJpegSizes[VGA] = vgaSize;
-            maxYuvSizes[VGA] = vgaSize;
         }
 
         public final Size[] maxPrivSizes = new Size[RESOLUTION_COUNT];
@@ -1486,4 +1526,35 @@
         return sz;
     }
 
+    private static Size getMaxPreviewSize(Context context, String cameraId) {
+        try {
+            WindowManager windowManager =
+                (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+            Display display = windowManager.getDefaultDisplay();
+
+            int width = display.getWidth();
+            int height = display.getHeight();
+
+            if (height > width) {
+                height = width;
+                width = display.getHeight();
+            }
+
+            CameraManager camMgr =
+                (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
+            List<Size> orderedPreviewSizes = CameraTestUtils.getSupportedPreviewSizes(
+                cameraId, camMgr, PREVIEW_SIZE_BOUND);
+
+            if (orderedPreviewSizes != null) {
+                for (Size size : orderedPreviewSizes) {
+                    if (width >= size.getWidth() &&
+                        height >= size.getHeight())
+                        return size;
+                }
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "getMaxPreviewSize Failed. "+e.toString());
+        }
+        return PREVIEW_SIZE_BOUND;
+    }
 }
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/StaticMetadataTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/StaticMetadataTest.java
index 0bc74b3..4415ecc 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/StaticMetadataTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/StaticMetadataTest.java
@@ -73,8 +73,10 @@
             Size sensorSize = new Size(activeRect.width(), activeRect.height());
             List<Integer> availableCaps = mStaticInfo.getAvailableCapabilitiesChecked();
 
-            mCollector.expectTrue("All device must contains BACKWARD_COMPATIBLE capability",
-                    availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE));
+            mCollector.expectTrue("All devices must contains BACKWARD_COMPATIBLE capability or " +
+                    "DEPTH_OUTPUT capabillity" ,
+                    availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE) ||
+                    availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT) );
 
             if (mStaticInfo.isHardwareLevelFull()) {
                 // Capability advertisement must be right.
@@ -91,18 +93,25 @@
                         mStaticInfo.isPerFrameControlSupported());
             }
 
+            if (mStaticInfo.isHardwareLevelLegacy()) {
+                mCollector.expectTrue("Legacy devices must contain BACKWARD_COMPATIBLE capability",
+                        availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE));
+            }
+
             if (availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR)) {
                 mCollector.expectTrue("MANUAL_SENSOR capability always requires " +
                         "READ_SENSOR_SETTINGS capability as well",
                         availableCaps.contains(REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS));
             }
 
-            // Max jpeg resolution must be very close to  sensor resolution
-            Size[] jpegSizes = mStaticInfo.getJpegOutputSizesChecked();
-            Size maxJpegSize = CameraTestUtils.getMaxSize(jpegSizes);
-            mCollector.expectSizesAreSimilar(
+            if (mStaticInfo.isColorOutputSupported()) {
+                // Max jpeg resolution must be very close to  sensor resolution
+                Size[] jpegSizes = mStaticInfo.getJpegOutputSizesChecked();
+                Size maxJpegSize = CameraTestUtils.getMaxSize(jpegSizes);
+                mCollector.expectSizesAreSimilar(
                     "Active array size and max JPEG size should be similar",
                     sensorSize, maxJpegSize, SIZE_ERROR_MARGIN);
+            }
 
             // TODO: test all the keys mandatory for all capability devices.
         }
@@ -127,9 +136,9 @@
                 mCollector.expectTrue("max number of processed (non-stalling) output streams" +
                         "must be >= 3 for FULL device",
                         maxNumStreamsProc >= 3);
-            } else {
+            } else if (mStaticInfo.isColorOutputSupported()) {
                 mCollector.expectTrue("max number of processed (non-stalling) output streams" +
-                        "must be >= 2 for LIMITED device",
+                        "must be >= 2 for devices that support color output",
                         maxNumStreamsProc >= 2);
             }
         }
@@ -319,7 +328,7 @@
                 Boolean contrastCurveModeSupported = false;
                 Boolean gammaAndPresetModeSupported = false;
                 Boolean offColorAberrationModeSupported = false;
-                if (mStaticInfo.isHardwareLevelLimitedOrBetter()) {
+                if (mStaticInfo.isHardwareLevelLimitedOrBetter() && mStaticInfo.isColorOutputSupported()) {
                     int[] tonemapModes = mStaticInfo.getAvailableToneMapModesChecked();
                     List<Integer> modeList = (tonemapModes.length == 0) ?
                             new ArrayList<Integer>() :
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
index d8dda8f..5e931fe 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
@@ -83,7 +83,11 @@
             try {
                 Log.i(TAG, "Testing JPEG exif for Camera " + mCameraIds[i]);
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 jpegExifTestByCamera();
             } finally {
                 closeDevice();
@@ -107,7 +111,10 @@
             try {
                 Log.i(TAG, "Testing basic take picture for Camera " + id);
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 takePictureTestByCamera(/*aeRegions*/null, /*awbRegions*/null, /*afRegions*/null);
             } finally {
                 closeDevice();
@@ -185,7 +192,11 @@
                 if (!(mStaticInfo.hasFocuser() && maxAfRegions > 0)) {
                     continue;
                 }
-
+                // TODO: Relax test to use non-SurfaceView output for depth cases
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 touchForFocusTestByCamera();
             } finally {
                 closeDevice();
@@ -206,7 +217,10 @@
             try {
                 Log.i(TAG, "Testing Still preview capture combination for Camera " + id);
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 previewStillCombinationTestByCamera();
             } finally {
                 closeDevice();
@@ -235,7 +249,10 @@
                     Log.i(TAG, "Skipping test on legacy devices");
                     continue;
                 }
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 aeCompensationTestByCamera();
             } finally {
                 closeDevice();
@@ -327,6 +344,10 @@
             try {
                 Log.i(TAG, "Testing preview persistence for Camera " + id);
                 openDevice(id);
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 previewPersistenceTestByCamera();
             } finally {
                 closeDevice();
@@ -346,7 +367,10 @@
                     Log.i(TAG, "Skipping AE precapture trigger cancel test on legacy devices");
                     continue;
                 }
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 takePictureTestByCamera(/*aeRegions*/null, /*awbRegions*/null, /*afRegions*/null,
                         /*addAeTriggerCancel*/true);
             } finally {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
index da9b0ce..06daa51 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
@@ -77,7 +77,11 @@
             try {
                 Log.i(TAG, "Testing preview for Camera " + mCameraIds[i]);
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 previewTestByCamera();
             } finally {
                 closeDevice();
@@ -97,7 +101,11 @@
             try {
                 Log.i(TAG, "Testing preview for Camera " + mCameraIds[i]);
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 previewTestPatternTestByCamera();
             } finally {
                 closeDevice();
@@ -113,7 +121,10 @@
         for (String id : mCameraIds) {
             try {
                 openDevice(id);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + id + " does not support color outputs, skipping");
+                    continue;
+                }
                 previewFpsRangeTestByCamera();
             } finally {
                 closeDevice();
@@ -134,7 +145,11 @@
         for (int i = 0; i < mCameraIds.length; i++) {
             try {
                 openDevice(mCameraIds[i]);
-
+                if (!mStaticInfo.isColorOutputSupported()) {
+                    Log.i(TAG, "Camera " + mCameraIds[i] +
+                            " does not support color outputs, skipping");
+                    continue;
+                }
                 preparePerformanceTestByCamera(mCameraIds[i]);
             }
             finally {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
index e097c18..4310b3a 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/StaticMetadata.java
@@ -437,7 +437,7 @@
      * @return AE max regions supported by the camera device
      */
     public int getAeMaxRegionsChecked() {
-        Integer regionCount = getValueFromKeyNonNull(CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
+        Integer regionCount = mCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AE);
         if (regionCount == null) {
             return 0;
         }
@@ -450,7 +450,7 @@
      * @return AWB max regions supported by the camera device
      */
     public int getAwbMaxRegionsChecked() {
-        Integer regionCount = getValueFromKeyNonNull(CameraCharacteristics.CONTROL_MAX_REGIONS_AWB);
+        Integer regionCount = mCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AWB);
         if (regionCount == null) {
             return 0;
         }
@@ -463,7 +463,7 @@
      * @return AF max regions supported by the camera device
      */
     public int getAfMaxRegionsChecked() {
-        Integer regionCount = getValueFromKeyNonNull(CameraCharacteristics.CONTROL_MAX_REGIONS_AF);
+        Integer regionCount = mCharacteristics.get(CameraCharacteristics.CONTROL_MAX_REGIONS_AF);
         if (regionCount == null) {
             return 0;
         }
@@ -2190,6 +2190,23 @@
     }
 
     /**
+     * Check if depth output is supported, based on the depth capability
+     */
+    public boolean isDepthOutputSupported() {
+        return isCapabilitySupported(
+                CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT);
+    }
+
+    /**
+     * Check if standard outputs (PRIVATE, YUV, JPEG) outputs are supported, based on the
+     * backwards-compatible capability
+     */
+    public boolean isColorOutputSupported() {
+        return isCapabilitySupported(
+                CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE);
+    }
+
+    /**
      * Get the value in index for a fixed-size array from a given key.
      *
      * <p>If the camera device is incorrectly reporting values, log a warning and return
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
index 78370b3..0108ee6 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
@@ -41,6 +41,7 @@
 import android.test.AndroidTestCase;
 import android.util.Log;
 import android.view.Surface;
+import android.view.WindowManager;
 
 import com.android.ex.camera2.blocking.BlockingSessionCallback;
 import com.android.ex.camera2.blocking.BlockingStateCallback;
@@ -75,11 +76,14 @@
     protected List<Size> mOrderedVideoSizes; // In descending order.
     protected List<Size> mOrderedStillSizes; // In descending order.
 
+    protected WindowManager mWindowManager;
+
     @Override
     public void setContext(Context context) {
         super.setContext(context);
         mCameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE);
         assertNotNull("Can't connect to camera manager!", mCameraManager);
+        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
     }
 
     /**
@@ -188,10 +192,13 @@
         mCollector.setCameraId(cameraId);
         mStaticInfo = new StaticMetadata(mCameraManager.getCameraCharacteristics(cameraId),
                 CheckLevel.ASSERT, /*collector*/null);
-        mOrderedPreviewSizes = getSupportedPreviewSizes(
-                cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
-        mOrderedVideoSizes = getSupportedVideoSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
-        mOrderedStillSizes = getSupportedStillSizes(cameraId, mCameraManager, null);
+        if (mStaticInfo.isColorOutputSupported()) {
+            mOrderedPreviewSizes = getSupportedPreviewSizes(
+                    cameraId, mCameraManager,
+                    getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
+            mOrderedVideoSizes = getSupportedVideoSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
+            mOrderedStillSizes = getSupportedStillSizes(cameraId, mCameraManager, null);
+        }
 
         if (VERBOSE) {
             Log.v(TAG, "Camera " + cameraId + " is opened");
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
index 03e9647..39bf0a5 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
@@ -43,6 +43,7 @@
 import android.util.Size;
 import android.view.Surface;
 import android.view.TextureView;
+import android.view.WindowManager;
 
 import com.android.ex.camera2.blocking.BlockingCameraManager;
 import com.android.ex.camera2.blocking.BlockingSessionCallback;
@@ -76,6 +77,8 @@
     private CameraHolder[] mCameraHolders;
     private HashMap<String, Integer> mCameraIdMap;
 
+    protected WindowManager mWindowManager;
+
     public Camera2MultiViewTestCase() {
         super(Camera2MultiViewCtsActivity.class);
     }
@@ -104,6 +107,7 @@
             mCameraHolders[i] = new CameraHolder(mCameraIds[i]);
             mCameraIdMap.put(mCameraIds[i], i);
         }
+        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
     }
 
     @Override
@@ -358,8 +362,11 @@
                     mCameraId, mCameraListener, mHandler);
             mStaticInfo = new StaticMetadata(mCameraManager.getCameraCharacteristics(mCameraId),
                     CheckLevel.ASSERT, /*collector*/null);
-            mOrderedPreviewSizes = getSupportedPreviewSizes(
-                    mCameraId, mCameraManager, PREVIEW_SIZE_BOUND);
+            if (mStaticInfo.isColorOutputSupported()) {
+                mOrderedPreviewSizes = getSupportedPreviewSizes(
+                        mCameraId, mCameraManager,
+                        getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
+            }
             assertNotNull(String.format("Failed to open camera device ID: %s", mCameraId), mCamera);
         }
 
@@ -409,4 +416,3 @@
         }
     }
 }
-
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
index 3ca696b..7330a4c 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -29,6 +29,7 @@
 import android.util.Log;
 import android.view.Surface;
 import android.view.SurfaceHolder;
+import android.view.WindowManager;
 import android.content.Context;
 import android.graphics.ImageFormat;
 import android.hardware.camera2.CameraAccessException;
@@ -102,6 +103,7 @@
     protected List<Size> mOrderedStillSizes; // In descending order.
     protected HashMap<Size, Long> mMinPreviewFrameDurationMap;
 
+    protected WindowManager mWindowManager;
 
     public Camera2SurfaceViewTestCase() {
         super(Camera2SurfaceViewCtsActivity.class);
@@ -131,6 +133,8 @@
         mHandler = new Handler(mHandlerThread.getLooper());
         mCameraListener = new BlockingStateCallback();
         mCollector = new CameraErrorCollector();
+
+        mWindowManager = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
     }
 
     @Override
@@ -559,13 +563,16 @@
         mCollector.setCameraId(cameraId);
         mStaticInfo = new StaticMetadata(mCameraManager.getCameraCharacteristics(cameraId),
                 CheckLevel.ASSERT, /*collector*/null);
-        mOrderedPreviewSizes = getSupportedPreviewSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
-        mOrderedVideoSizes = getSupportedVideoSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
-        mOrderedStillSizes = getSupportedStillSizes(cameraId, mCameraManager, null);
-        // Use ImageFormat.YUV_420_888 for now. TODO: need figure out what's format for preview
-        // in public API side.
-        mMinPreviewFrameDurationMap =
+        if (mStaticInfo.isColorOutputSupported()) {
+            mOrderedPreviewSizes = getSupportedPreviewSizes(cameraId, mCameraManager,
+                    getPreviewSizeBound(mWindowManager, PREVIEW_SIZE_BOUND));
+            mOrderedVideoSizes = getSupportedVideoSizes(cameraId, mCameraManager, PREVIEW_SIZE_BOUND);
+            mOrderedStillSizes = getSupportedStillSizes(cameraId, mCameraManager, null);
+            // Use ImageFormat.YUV_420_888 for now. TODO: need figure out what's format for preview
+            // in public API side.
+            mMinPreviewFrameDurationMap =
                 mStaticInfo.getAvailableMinFrameDurationsForFormatChecked(ImageFormat.YUV_420_888);
+        }
     }
 
     /**
diff --git a/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java b/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
index d8f8a1d..380e47d 100755
--- a/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
@@ -497,7 +497,7 @@
      * TODO: This should be made stricter once SurfaceTexture timestamps are generated by the drivers.
      */
     @UiThreadTest
-    @TimeoutReq(minutes = 20)
+    @TimeoutReq(minutes = 30)
     public void testCameraToSurfaceTextureMetadata() throws Exception {
         runForAllCameras(testCameraToSurfaceTextureMetadataByCamera);
     }
diff --git a/tests/tests/hardware/src/android/hardware/cts/CameraTest.java b/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
index ec9caaf..6869ed1 100644
--- a/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/CameraTest.java
@@ -45,6 +45,7 @@
 import android.util.Log;
 import android.view.SurfaceHolder;
 
+import com.android.cts.util.TimeoutReq;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -65,7 +66,7 @@
  */
 @LargeTest
 public class CameraTest extends ActivityInstrumentationTestCase2<CameraCtsActivity> {
-    private static String TAG = "CameraTest";
+    private static final String TAG = "CameraTest";
     private static final String PACKAGE = "com.android.cts.hardware";
     private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
     private final String JPEG_PATH = Environment.getExternalStorageDirectory().getPath() +
@@ -861,15 +862,16 @@
     }
 
     private void testJpegExifByCamera(boolean recording) throws Exception {
-        Camera.Parameters parameters = mCamera.getParameters();
         if (!recording) mCamera.startPreview();
-        double focalLength = parameters.getFocalLength();
         Date date = new Date(System.currentTimeMillis());
         String localDatetime = new SimpleDateFormat("yyyy:MM:dd HH:").format(date);
 
         mCamera.takePicture(mShutterCallback, mRawPictureCallback, mJpegPictureCallback);
         waitForSnapshotDone();
 
+        Camera.Parameters parameters = mCamera.getParameters();
+        double focalLength = parameters.getFocalLength();
+
         // Test various exif tags.
         ExifInterface exif = new ExifInterface(JPEG_PATH);
         StringBuffer failedCause = new StringBuffer("Jpeg exif test failed:\n");
@@ -1769,6 +1771,7 @@
     }
 
     @UiThreadTest
+    @TimeoutReq(minutes = 30)
     public void testPreviewPictureSizesCombination() throws Exception {
         int nCameras = Camera.getNumberOfCameras();
         for (int id = 0; id < nCameras; id++) {
diff --git a/tests/tests/hardware/src/android/hardware/cts/LowRamDeviceTest.java b/tests/tests/hardware/src/android/hardware/cts/LowRamDeviceTest.java
index 0a0607d..68efef0 100755
--- a/tests/tests/hardware/src/android/hardware/cts/LowRamDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/LowRamDeviceTest.java
@@ -92,17 +92,20 @@
                 lessThanDpi(density, DENSITY_MEDIUM, screenSize, SCREENLAYOUT_SIZE_LARGE) ||
                 lessThanDpi(density, DENSITY_LOW, screenSize, SCREENLAYOUT_SIZE_XLARGE)) {
 
-            assertFalse("Device is not expected to be 64-bit", supports64Bit);
-            assertMinMemoryMb(424);
-        } else if (greaterThanDpi(density, DENSITY_XHIGH, screenSize,
+            if (supports64Bit) {
+                assertMinMemoryMb(704);
+            } else {
+                assertMinMemoryMb(424);
+            }
+        } else if (greaterThanDpi(density, DENSITY_560, screenSize,
                 SCREENLAYOUT_SIZE_NORMAL, SCREENLAYOUT_SIZE_SMALL) ||
-                greaterThanDpi(density, DENSITY_TV, screenSize, SCREENLAYOUT_SIZE_LARGE) ||
-                greaterThanDpi(density, DENSITY_MEDIUM, screenSize, SCREENLAYOUT_SIZE_XLARGE)) {
+                greaterThanDpi(density, DENSITY_400, screenSize, SCREENLAYOUT_SIZE_LARGE) ||
+                greaterThanDpi(density, DENSITY_XHIGH, screenSize, SCREENLAYOUT_SIZE_XLARGE)) {
 
             if (supports64Bit) {
-                assertMinMemoryMb(832);
+                assertMinMemoryMb(1824);
             } else {
-                assertMinMemoryMb(512);
+                assertMinMemoryMb(1344);
             }
         } else if (greaterThanDpi(density, DENSITY_400, screenSize,
                 SCREENLAYOUT_SIZE_NORMAL, SCREENLAYOUT_SIZE_SMALL) ||
@@ -114,15 +117,15 @@
             } else {
                 assertMinMemoryMb(896);
             }
-        } else if (greaterThanDpi(density, DENSITY_560, screenSize,
+        } else if (greaterThanDpi(density, DENSITY_XHIGH, screenSize,
                 SCREENLAYOUT_SIZE_NORMAL, SCREENLAYOUT_SIZE_SMALL) ||
-                greaterThanDpi(density, DENSITY_400, screenSize, SCREENLAYOUT_SIZE_LARGE) ||
-                greaterThanDpi(density, DENSITY_XHIGH, screenSize, SCREENLAYOUT_SIZE_XLARGE)) {
+                greaterThanDpi(density, DENSITY_TV, screenSize, SCREENLAYOUT_SIZE_LARGE) ||
+                greaterThanDpi(density, DENSITY_MEDIUM, screenSize, SCREENLAYOUT_SIZE_XLARGE)) {
 
             if (supports64Bit) {
-                assertMinMemoryMb(1824);
+                assertMinMemoryMb(832);
             } else {
-                assertMinMemoryMb(1344);
+                assertMinMemoryMb(512);
             }
         }
     }
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorBatchingTests.java b/tests/tests/hardware/src/android/hardware/cts/SensorBatchingTests.java
index 7640cd7..7f7d4eb 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorBatchingTests.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorBatchingTests.java
@@ -18,6 +18,7 @@
 
 import android.hardware.Sensor;
 import android.hardware.SensorManager;
+import android.hardware.cts.helpers.SensorCtsHelper;
 import android.hardware.cts.helpers.SensorStats;
 import android.hardware.cts.helpers.TestSensorEnvironment;
 import android.hardware.cts.helpers.sensoroperations.TestSensorOperation;
@@ -287,6 +288,7 @@
             TestSensorEnvironment environment,
             TestSensorOperation operation,
             boolean flushExpected) throws Throwable {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         operation.addDefaultVerifications();
 
         try {
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorIntegrationTests.java b/tests/tests/hardware/src/android/hardware/cts/SensorIntegrationTests.java
index 8c3fb7a..9bf1fd6 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorIntegrationTests.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorIntegrationTests.java
@@ -18,6 +18,7 @@
 import android.content.Context;
 import android.hardware.Sensor;
 import android.hardware.SensorManager;
+import android.hardware.cts.helpers.SensorCtsHelper;
 import android.hardware.cts.helpers.TestSensorEnvironment;
 import android.hardware.cts.helpers.sensoroperations.ParallelSensorOperation;
 import android.hardware.cts.helpers.sensoroperations.RepeatingSensorOperation;
@@ -62,6 +63,7 @@
      * of several clients can lead to the failing state.
      */
     public void testSensorsWithSeveralClients() throws Throwable {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         final int ITERATIONS = 50;
         final int MAX_REPORTING_LATENCY_US = (int) TimeUnit.SECONDS.toMicros(5);
         final Context context = getContext();
@@ -121,6 +123,7 @@
      * of several clients can lead to the failing state.
      */
     public void testSensorsMovingRates() throws Throwable {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         // use at least two instances to ensure more than one client of any given sensor is in play
         final int INSTANCES_TO_USE = 5;
         final int ITERATIONS_TO_EXECUTE = 100;
@@ -219,6 +222,7 @@
     public void verifySensorStoppingInteraction(
             int sensorTypeTestee,
             int sensorTypeTester) throws Throwable {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         Context context = getContext();
 
         TestSensorEnvironment testerEnvironment = new TestSensorEnvironment(
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorParameterRangeTest.java b/tests/tests/hardware/src/android/hardware/cts/SensorParameterRangeTest.java
new file mode 100644
index 0000000..4750b09
--- /dev/null
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorParameterRangeTest.java
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.cts;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
+import android.hardware.cts.helpers.SensorCtsHelper;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Test min-max frequency, max range parameters for sensors.
+ *
+ * <p>To execute these test cases, the following command can be used:</p>
+ * <pre>
+ * adb shell am instrument -e class android.hardware.cts.SensorParameterRangeTest \
+ *     -w com.android.cts.hardware/android.test.AndroidJUnitRunner
+ * </pre>
+ */
+public class SensorParameterRangeTest extends SensorTestCase {
+
+    private static final double ACCELEROMETER_MAX_RANGE = 8 * 9.81; // 8G
+    private static final int ACCELEROMETER_MIN_FREQUENCY = 5;
+    private static final int ACCELEROMETER_MAX_FREQUENCY = 200;
+
+    private static final double GYRO_MAX_RANGE = 1000/57.295; // 1000 degrees per sec.
+    private static final int GYRO_MIN_FREQUENCY = 5;
+    private static final int GYRO_MAX_FREQUENCY = 200;
+
+    private static final int MAGNETOMETER_MAX_RANGE = 900;   // micro telsa
+    private static final int MAGNETOMETER_MIN_FREQUENCY = 5;
+    private static final int MAGNETOMETER_MAX_FREQUENCY = 50;
+
+    private static final int PRESSURE_MAX_RANGE = 1100;     // hecto-pascal
+    private static final int PRESSURE_MIN_FREQUENCY = 1;
+    private static final int PRESSURE_MAX_FREQUENCY = 10;
+
+    private boolean mHasHifiSensors;
+    private SensorManager mSensorManager;
+
+    @Override
+    public void setUp() {
+        mSensorManager = (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
+        mHasHifiSensors = getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_HIFI_SENSORS);
+    }
+
+    public void testAccelerometerRange() {
+        checkSensorRangeAndFrequency(
+                mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
+                ACCELEROMETER_MAX_RANGE,
+                ACCELEROMETER_MIN_FREQUENCY,
+                ACCELEROMETER_MAX_FREQUENCY);
+  }
+
+  public void testGyroscopeRange() {
+        checkSensorRangeAndFrequency(
+                mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE),
+                GYRO_MAX_RANGE,
+                GYRO_MIN_FREQUENCY,
+                GYRO_MAX_FREQUENCY);
+  }
+
+    public void testMagnetometerRange() {
+        checkSensorRangeAndFrequency(
+                mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
+                MAGNETOMETER_MAX_RANGE,
+                MAGNETOMETER_MIN_FREQUENCY,
+                MAGNETOMETER_MAX_FREQUENCY);
+    }
+
+    public void testPressureRange() {
+        checkSensorRangeAndFrequency(
+                mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE),
+                PRESSURE_MAX_RANGE,
+                PRESSURE_MIN_FREQUENCY,
+                PRESSURE_MAX_FREQUENCY);
+    }
+
+    private void checkSensorRangeAndFrequency(
+          Sensor sensor, double maxRange, int minFrequency, int maxFrequency) {
+        if (!mHasHifiSensors) return;
+        assertTrue(String.format("%s Range actual=%.2f expected=%.2f %s",
+                    sensor.getName(), sensor.getMaximumRange(), maxRange,
+                    SensorCtsHelper.getUnitsForSensor(sensor)),
+                sensor.getMaximumRange() >= maxRange);
+        double actualMinFrequency = SensorCtsHelper.getFrequency(sensor.getMaxDelay(),
+                TimeUnit.MICROSECONDS);
+        assertTrue(String.format("%s Min Frequency actual=%.2f expected=%dHz",
+                    sensor.getName(), actualMinFrequency, minFrequency), actualMinFrequency <=
+                minFrequency);
+
+        double actualMaxFrequency = SensorCtsHelper.getFrequency(sensor.getMinDelay(),
+                TimeUnit.MICROSECONDS);
+        assertTrue(String.format("%s Max Frequency actual=%.2f expected=%dHz",
+                    sensor.getName(), actualMaxFrequency, maxFrequency), actualMaxFrequency >=
+                maxFrequency);
+    }
+}
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorSupportTest.java b/tests/tests/hardware/src/android/hardware/cts/SensorSupportTest.java
new file mode 100644
index 0000000..2f25c8d
--- /dev/null
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorSupportTest.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.cts;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
+import android.test.AndroidTestCase;
+
+/**
+ * Checks if Hifi sensors are supported. When supported, checks individual support for
+ * Accelerometer, Gyroscope, Gyroscope_uncal, GeoMagneticField, MagneticField_uncal
+ * Pressure, RotationVector, SignificantMotion, StepDetector, StepCounter, TiltDetector.
+ *
+ * <p>To execute these test cases, the following command can be used:</p>
+ * <pre>
+ * adb shell am instrument -e class android.hardware.cts.SensorSupportTest \
+ *     -w com.android.cts.hardware/android.test.AndroidJUnitRunner
+ * </pre>
+ */
+public class SensorSupportTest extends AndroidTestCase {
+    private SensorManager mSensorManager;
+    private boolean mAreHifiSensorsSupported;
+
+    @Override
+    public void setUp() {
+        // Tests will only run if HIFI_SENSORS are supported.
+        mAreHifiSensorsSupported = getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_HIFI_SENSORS);
+        if (mAreHifiSensorsSupported) {
+            mSensorManager =
+                    (SensorManager) getContext().getSystemService(Context.SENSOR_SERVICE);
+        }
+    }
+
+    public void testSupportsAccelerometer() {
+        checkSupportsSensor(Sensor.TYPE_ACCELEROMETER);
+    }
+
+    public void testSupportsGyroscope() {
+        checkSupportsSensor(Sensor.TYPE_GYROSCOPE);
+    }
+
+    public void testSupportsGyroscopeUncalibrated() {
+        checkSupportsSensor(Sensor.TYPE_GYROSCOPE_UNCALIBRATED);
+    }
+
+    public void testSupportsGeoMagneticField() {
+        checkSupportsSensor(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR);
+    }
+
+    public void testSupportsMagneticFieldUncalibrated() {
+        checkSupportsSensor(Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED);
+    }
+
+    public void testSupportsPressure() {
+        checkSupportsSensor(Sensor.TYPE_PRESSURE);
+    }
+
+    public void testSupportsRotationVector() {
+        checkSupportsSensor(Sensor.TYPE_ROTATION_VECTOR);
+    }
+
+    public void testSupportsSignificantMotion() {
+        checkSupportsSensor(Sensor.TYPE_SIGNIFICANT_MOTION);
+    }
+
+    public void testSupportsStepDetector() {
+        checkSupportsSensor(Sensor.TYPE_STEP_DETECTOR);
+    }
+
+    public void testSupportsStepCounter() {
+        checkSupportsSensor(Sensor.TYPE_STEP_COUNTER);
+    }
+
+    public void testSupportsTiltDetector() {
+        final int TYPE_TILT_DETECTOR = 22;
+        checkSupportsSensor(TYPE_TILT_DETECTOR);
+    }
+
+    private void checkSupportsSensor(int sensorType) {
+        if (mAreHifiSensorsSupported) {
+            assertTrue(mSensorManager.getDefaultSensor(sensorType) != null);
+        }
+    }
+}
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
index 6beeec8..2c3c6f4 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorTest.java
@@ -29,6 +29,7 @@
 import android.hardware.SensorManager;
 import android.hardware.TriggerEvent;
 import android.hardware.TriggerEventListener;
+import android.hardware.cts.helpers.SensorCtsHelper;
 import android.hardware.cts.helpers.SensorNotSupportedException;
 import android.hardware.cts.helpers.SensorTestStateNotSupportedException;
 import android.hardware.cts.helpers.TestSensorEnvironment;
@@ -311,6 +312,7 @@
     // TODO: remove when parameterized tests are supported (see SensorBatchingTests.java)
     @TimeoutReq(minutes=20)
     public void testBatchAndFlush() throws Exception {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         ArrayList<Throwable> errorsFound = new ArrayList<>();
         for (Sensor sensor : mSensorList) {
             verifyRegisterListenerCallFlush(sensor, null /* handler */, errorsFound);
@@ -323,6 +325,7 @@
      */
     @TimeoutReq(minutes=10)
     public void testBatchAndFlushWithHandler() throws Exception {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         Sensor sensor = null;
         for (Sensor s : mSensorList) {
             if (s.getReportingMode() == Sensor.REPORTING_MODE_CONTINUOUS) {
@@ -359,6 +362,7 @@
      */
     @TimeoutReq(minutes=10)
     public void testBatchAndFlushUseDefaultHandler() throws Exception {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         Sensor sensor = null;
         for (Sensor s : mSensorList) {
             if (s.getReportingMode() == Sensor.REPORTING_MODE_CONTINUOUS) {
@@ -391,6 +395,7 @@
     // TODO: after L release move to SensorBatchingTests and run in all sensors with default
     //       verifications enabled
     public void testBatchAndFlushWithMultipleSensors() throws Exception {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         final int maxSensors = 3;
         final int maxReportLatencyUs = (int) TimeUnit.SECONDS.toMicros(10);
         List<Sensor> sensorsToTest = new ArrayList<Sensor>();
diff --git a/tests/tests/hardware/src/android/hardware/cts/SensorTestCase.java b/tests/tests/hardware/src/android/hardware/cts/SensorTestCase.java
index 42b8d33..10992c5 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SensorTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SensorTestCase.java
@@ -32,15 +32,12 @@
     protected static final String LOG_TAG = "TestRunner";
 
     /**
-     * By default tests need to run in a {@link TestSensorEnvironment} that assumes each sensor is
-     * running with a load of several listeners, requesting data at different rates.
-     *
-     * In a better world the component acting as builder of {@link SensorOperation} would compute
-     * this value based on the tests composed.
-     *
-     * Ideally, each {@link Sensor} object would expose this information to clients.
+     * Previously for L release, we had this flag to know if each sensor is running with multiple
+     * listeners each requesting different data rates. Now before running CTS tests all sensors
+     * are de-activated by putting SensorService in RESTRICTED mode. Only CTS tests can
+     * activate/deactivate sensors in this mode. So we can default this flag value to false.
      */
-    private volatile boolean mEmulateSensorUnderLoad = true;
+    private volatile boolean mEmulateSensorUnderLoad = false;
 
     /**
      * By default the test class is the root of the test hierarchy.
diff --git a/tests/tests/hardware/src/android/hardware/cts/SingleSensorTests.java b/tests/tests/hardware/src/android/hardware/cts/SingleSensorTests.java
index 0fbd8fa..73d61a5 100644
--- a/tests/tests/hardware/src/android/hardware/cts/SingleSensorTests.java
+++ b/tests/tests/hardware/src/android/hardware/cts/SingleSensorTests.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.hardware.Sensor;
 import android.hardware.SensorManager;
+import android.hardware.cts.helpers.SensorCtsHelper;
 import android.hardware.cts.helpers.SensorStats;
 import android.hardware.cts.helpers.TestSensorEnvironment;
 import android.hardware.cts.helpers.sensoroperations.TestSensorOperation;
@@ -542,6 +543,7 @@
     }
 
     private void runSensorTest(int sensorType, int rateUs) throws Throwable {
+        SensorCtsHelper.sleep(3, TimeUnit.SECONDS);
         TestSensorEnvironment environment = new TestSensorEnvironment(
                 getContext(),
                 sensorType,
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/SensorCtsHelper.java b/tests/tests/hardware/src/android/hardware/cts/helpers/SensorCtsHelper.java
index 490e965..55465ac 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/SensorCtsHelper.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/SensorCtsHelper.java
@@ -15,6 +15,7 @@
  */
 package android.hardware.cts.helpers;
 
+import android.hardware.Sensor;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -259,4 +260,20 @@
             throw new IllegalStateException("Collection cannot be null or empty");
         }
     }
+
+    public static String getUnitsForSensor(Sensor sensor) {
+        switch(sensor.getType()) {
+            case Sensor.TYPE_ACCELEROMETER:
+                return "m/s^2";
+            case Sensor.TYPE_MAGNETIC_FIELD:
+            case Sensor.TYPE_MAGNETIC_FIELD_UNCALIBRATED:
+                return "uT";
+            case Sensor.TYPE_GYROSCOPE:
+            case Sensor.TYPE_GYROSCOPE_UNCALIBRATED:
+                return "radians/sec";
+            case Sensor.TYPE_PRESSURE:
+                return "hPa";
+        };
+        return "";
+    }
 }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/SuspendStateMonitor.java b/tests/tests/hardware/src/android/hardware/cts/helpers/SuspendStateMonitor.java
index 4426967..627e876 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/SuspendStateMonitor.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/SuspendStateMonitor.java
@@ -1,5 +1,7 @@
 package android.hardware.cts.helpers;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.CountDownLatch;
@@ -14,12 +16,14 @@
 
 import junit.framework.Assert;
 
-public class SuspendStateMonitor {
+public class SuspendStateMonitor extends TimerTask {
     private final double firstRealTimeMillis;
     private final double firstUpTimeMillis;
     private double lastSleepTimeSeconds = 0;
     private volatile long lastWakeUpTime = 0;
     Timer sleepMonitoringTimer = new Timer();
+    private final List<CountDownLatch> mWaitForWakeUpLatch = new ArrayList<>();
+    private final String TAG = "SensorCTSDeviceSuspendMonitor";
 
     /**
      * Returns the time the device slept since the start of the application,
@@ -35,23 +39,45 @@
         return lastWakeUpTime;
     }
 
-    public void cancel() {
-        sleepMonitoringTimer.cancel();
+
+    public void waitForWakeUp(int numSeconds) throws InterruptedException {
+        CountDownLatch latch = new CountDownLatch(1);
+        synchronized(mWaitForWakeUpLatch) {
+            mWaitForWakeUpLatch.add(latch);
+        }
+        if (numSeconds == -1) {
+            // Wait indefinitely.
+            latch.await();
+        } else {
+            // Wait for the specified number of seconds.
+            boolean countZero = latch.await(numSeconds, TimeUnit.SECONDS);
+            if (!countZero) {
+               Log.e(TAG, "Device did not enter suspend state.");
+            }
+        }
     }
 
-     public SuspendStateMonitor() {
+    /**
+     * Run every 100ms inside the TimerTask.
+     */
+    @Override
+    public void run() {
+        if (getSleepTimeSeconds() - lastSleepTimeSeconds > 0.1) {
+            lastSleepTimeSeconds = getSleepTimeSeconds();
+            lastWakeUpTime = SystemClock.elapsedRealtime();
+            // If any client is waiting for wake-up, call countDown to unblock it.
+            synchronized(mWaitForWakeUpLatch) {
+                for (CountDownLatch latch : mWaitForWakeUpLatch) {
+                    latch.countDown();
+                }
+            }
+        }
+    }
+
+    public SuspendStateMonitor() {
         firstRealTimeMillis = android.os.SystemClock.elapsedRealtime();
         firstUpTimeMillis = android.os.SystemClock.uptimeMillis();
         // Every 100 miliseconds, check whether the device has slept.
-        TimerTask sleepMonitoringTask = new TimerTask() {
-                @Override
-                public void run() {
-                    if (getSleepTimeSeconds() - lastSleepTimeSeconds > 0.1) {
-                        lastSleepTimeSeconds = getSleepTimeSeconds();
-                        lastWakeUpTime = SystemClock.elapsedRealtime();
-                    }
-                }
-        };
-        sleepMonitoringTimer.schedule(sleepMonitoringTask, 0, 100);
+        sleepMonitoringTimer.schedule(this, 0, 100);
     }
 }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
index 23effb9..3e70e75 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/TestSensorEventListener.java
@@ -225,7 +225,7 @@
                     builder.append("\n");
                     builder.append("ReceivedTimestamp=")
                     .append(mTimeStampFlushCompleteEvents.get(j)/1000000)
-                    .append(" Flush complete Event");
+                    .append("ms Flush complete Event");
                     ++j;
                 }
             }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensoroperations/TestSensorOperation.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensoroperations/TestSensorOperation.java
index d6cc54e..11fdc93 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensoroperations/TestSensorOperation.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensoroperations/TestSensorOperation.java
@@ -145,7 +145,6 @@
         for (ISensorVerification verification : mVerifications) {
             failed |= evaluateResults(collectedEvents, verification, sb);
         }
-
         if (failed) {
             trySaveCollectedEvents(parent, listener);
 
@@ -250,42 +249,69 @@
      */
     public static TestSensorOperation createOperation(
             final TestSensorEnvironment environment,
-            final int eventCount,
             final WakeLock wakeLock,
-            final boolean flushRequested) {
+            final boolean flushBeforeAfterSuspend) {
         Executor executor = new Executor() {
             @Override
             public void execute(TestSensorManager sensorManager, TestSensorEventListener listener)
                     throws InterruptedException {
                 try {
-                    int eventCountForLatch = eventCount;
-                    if (flushRequested) {
-                        eventCountForLatch = eventCount + (int)environment.getFrequencyHz();
+                    sensorManager.registerListener(listener);
+                    if (flushBeforeAfterSuspend) {
+                        int initialNumEvents1 = listener.getCollectedEvents().size();
+                        SensorCtsHelper.sleep(2, TimeUnit.SECONDS);
+                        CountDownLatch flushLatch1 = sensorManager.requestFlush();
+                        listener.waitForFlushComplete(flushLatch1, false);
+                        Assert.assertTrue("1.No sensor events collected on calling flush " +
+                                environment.toString(),
+                                listener.getCollectedEvents().size() - initialNumEvents1 > 0);
                     }
-                    CountDownLatch latch = sensorManager.registerListener(listener,
-                                                                           eventCountForLatch);
-                    if (flushRequested) {
-                        SensorCtsHelper.sleep(1, TimeUnit.SECONDS);
-                        CountDownLatch flushLatch = sensorManager.requestFlush();
-                        listener.waitForFlushComplete(flushLatch, false);
-                    }
+
+                    Log.i(TAG, "Collected sensor events size1=" +
+                            listener.getCollectedEvents().size());
+                    int initialNumEvents2 = listener.getCollectedEvents().size();
                     if (wakeLock.isHeld()) {
                         wakeLock.release();
                     }
                     listener.releaseWakeLock();
-                    Log.v("TestSensorOperation", "waitForEvents " +
-                            environment.getSensor().getName()
-                          + " " + latch.getCount());
-                    listener.waitForEvents(latch, eventCount, false);
-                    Log.v("TestSensorOperation", "waitForEvents DONE " + environment.getSensor().getName());
+
+                    SuspendStateMonitor suspendMonitor = new SuspendStateMonitor();
+                    long approxStartTimeMs = SystemClock.elapsedRealtime();
+                    // Allow the device to go into suspend. Wait for wake-up.
+                    suspendMonitor.waitForWakeUp(15);
+                    suspendMonitor.cancel();
+
                     if (!wakeLock.isHeld()) {
                         wakeLock.acquire();
                     }
-                    if (flushRequested) {
-                        SensorCtsHelper.sleep(1, TimeUnit.SECONDS);
-                        CountDownLatch flushLatch = sensorManager.requestFlush();
-                        listener.waitForFlushComplete(flushLatch, false);
+
+                    CountDownLatch flushLatch2 = sensorManager.requestFlush();
+                    listener.waitForFlushComplete(flushLatch2, false);
+
+                    Log.i(TAG, "Collected sensor events size2=" +
+                            listener.getCollectedEvents().size());
+
+                    if (listener.getCollectedEvents().size() - initialNumEvents2 <= 0 &&
+                            suspendMonitor.getLastWakeUpTime() > 0) {
+                        // Fail
+                        String str = String.format("No Sensor events collected by calling flush " +
+                                "after device wake up. Approx time after which device went into " +
+                                "suspend %dms ,approx AP wake-up time %dms %s",
+                                approxStartTimeMs, suspendMonitor.getLastWakeUpTime(),
+                                environment.toString());
+                        Assert.fail(str);
                     }
+                    if (flushBeforeAfterSuspend) {
+                        int initialNumEvents3 = listener.getCollectedEvents().size();
+                        SensorCtsHelper.sleep(2, TimeUnit.SECONDS);
+                        CountDownLatch flushLatch3 = sensorManager.requestFlush();
+                        listener.waitForFlushComplete(flushLatch3, false);
+                        Assert.assertTrue("3.No sensor events collected on calling flush " +
+                                environment.toString(),
+                                listener.getCollectedEvents().size() - initialNumEvents3 > 0);
+                    }
+                    Log.i(TAG, "Collected sensor events size3=" +
+                            listener.getCollectedEvents().size());
                 } finally {
                     if(!wakeLock.isHeld()) {
                         wakeLock.acquire();
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/AbstractSensorVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/AbstractSensorVerification.java
index 1e775e3..4c449dd 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/AbstractSensorVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/AbstractSensorVerification.java
@@ -82,4 +82,8 @@
             this.previousEvent = previousEvent;
         }
     }
+
+    protected double nanosToMillis(long nanos) {
+        return nanos/(1000.0 * 1000.0);
+    }
 }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/BatchArrivalVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/BatchArrivalVerification.java
index 5e50c3a..db6dc72 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/BatchArrivalVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/BatchArrivalVerification.java
@@ -37,6 +37,7 @@
     private final List<IndexedEventPair> mFailures = new LinkedList<IndexedEventPair>();
     private TestSensorEvent mFirstEvent = null;
     private int mIndex = 0;
+    private final long mEstimatedTestStartTimeMs;
 
     /**
      * Construct a {@link EventGapVerification}
@@ -45,6 +46,7 @@
      */
     public BatchArrivalVerification(long expectedBatchArrivalTimeUs) {
          mExpectedBatchArrivalTimeUs = expectedBatchArrivalTimeUs;
+         mEstimatedTestStartTimeMs = SystemClock.elapsedRealtime();
     }
 
     /**
@@ -91,13 +93,14 @@
 
         if (count > 0) {
             StringBuilder sb = new StringBuilder();
-            sb.append(count).append(" batch delayed: ");
+            sb.append(count).append(" BatchArrivalDelayed: ");
             for (int i = 0; i < Math.min(count, TRUNCATE_MESSAGE_LENGTH); i++) {
                 IndexedEventPair info = mFailures.get(i);
                 sb.append(String.format("expectedBatchArrival=%dms actualBatchArrivalTime=%dms "+
-                                        "diff=%dms tolerance=%dms",
+                                        "estimedTestStartTime=%dms diff=%dms tolerance=%dms",
                                          (mExpectedBatchArrivalTimeUs)/1000,
                                          info.event.receivedTimestamp/(1000 * 1000),
+                                         mEstimatedTestStartTimeMs,
                                          (mExpectedBatchArrivalTimeUs -
                                           info.event.receivedTimestamp/1000)/1000,
                                          BATCH_ARRIVAL_TOLERANCE_US/1000)
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
index b692f0f..76f1594 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerification.java
@@ -28,6 +28,10 @@
     // Number of events to truncate (discard) from the initial events received
     private static final int TRUNCATE_EVENTS_COUNT = 1;
 
+    // Number of event gaps to tolerate is the minimum of 1% of total events received or 10.
+    private static final int EVENT_GAP_TOLERANCE_COUNT = 10;
+    private static final double EVENT_GAP_TOLERANCE_PERCENT = 0.01;
+
     private final int mExpectedDelayUs;
 
     private final List<IndexedEventPair> mEventGaps = new LinkedList<IndexedEventPair>();
@@ -68,24 +72,26 @@
         }
 
         final int count = mEventGaps.size();
-        stats.addValue(PASSED_KEY, count == 0);
+        // Ensure that eventGapTolerance is at least 1.
+        int eventGapTolerance = (int)Math.max(1, Math.min(EVENT_GAP_TOLERANCE_COUNT,
+                    EVENT_GAP_TOLERANCE_PERCENT * mIndex));
+        stats.addValue(PASSED_KEY, count <= eventGapTolerance);
         stats.addValue(SensorStats.EVENT_GAP_COUNT_KEY, count);
         stats.addValue(SensorStats.EVENT_GAP_POSITIONS_KEY, getIndexArray(mEventGaps));
 
-        if (count > 0) {
+        if (count > eventGapTolerance) {
             StringBuilder sb = new StringBuilder();
             sb.append(count).append(" events gaps: ");
             for (int i = 0; i < Math.min(count, TRUNCATE_MESSAGE_LENGTH); i++) {
                 IndexedEventPair info = mEventGaps.get(i);
-                sb.append(String.format("position=%d, delta_time=%dns; ", info.index,
-                        info.event.timestamp - info.previousEvent.timestamp));
+                sb.append(String.format("position=%d, delta_time=%.2fms; ", info.index,
+                        nanosToMillis(info.event.timestamp - info.previousEvent.timestamp)));
             }
             if (count > TRUNCATE_MESSAGE_LENGTH) {
                 sb.append(count - TRUNCATE_MESSAGE_LENGTH).append(" more; ");
             }
-            sb.append(String.format("(expected <%dns)",
-                    TimeUnit.NANOSECONDS.convert((int) (THRESHOLD * mExpectedDelayUs),
-                            TimeUnit.MICROSECONDS)));
+            sb.append(String.format("(expected <%.2fms)",
+                    (double)(THRESHOLD * mExpectedDelayUs)/1000.0));
             Assert.fail(sb.toString());
         }
     }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerificationTest.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerificationTest.java
index 6f17e7b..687e63b 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerificationTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventGapVerificationTest.java
@@ -62,7 +62,7 @@
     public void testVerify_missing_events() {
         // Timestamps in ns, expected in us
         long[] timestamps = {1000000, 2000000, 3000000, 5000000, 6000000};
-        runVerification(1000, timestamps, false, new int[]{3});
+        runVerification(1000, timestamps, true, new int[]{3});
     }
 
     private void runVerification(int expected, long[] timestamps, boolean pass,
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerification.java
index 7b77ead..5a176d5 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerification.java
@@ -49,10 +49,8 @@
     @SuppressWarnings("deprecation")
     public static EventOrderingVerification getDefault(TestSensorEnvironment environment) {
         int reportingMode = environment.getSensor().getReportingMode();
-        if (reportingMode != Sensor.REPORTING_MODE_CONTINUOUS
-                && reportingMode != Sensor.REPORTING_MODE_ON_CHANGE) {
+        if (reportingMode == Sensor.REPORTING_MODE_ONE_SHOT)
             return null;
-        }
         return new EventOrderingVerification();
     }
 
@@ -84,8 +82,9 @@
             sb.append(count).append(" events out of order: ");
             for (int i = 0; i < Math.min(count, TRUNCATE_MESSAGE_LENGTH); i++) {
                 IndexedEventPair info = mOutOfOrderEvents.get(i);
-                sb.append(String.format("position=%d, previous=%d, timestamp=%d; ", info.index,
-                        info.previousEvent.timestamp, info.event.timestamp));
+                sb.append(String.format("position=%d, previous_ts=%.2fms, current_ts=%.2fms",
+                            info.index, nanosToMillis(info.previousEvent.timestamp),
+                            nanosToMillis(info.event.timestamp)));
             }
             if (count > TRUNCATE_MESSAGE_LENGTH) {
                 sb.append(count - TRUNCATE_MESSAGE_LENGTH).append(" more");
@@ -114,9 +113,9 @@
         if (mPreviousEvent == null) {
             mMaxTimestamp = event.timestamp;
         } else {
-            if (event.timestamp < mMaxTimestamp) {
+            if (event.timestamp <= mMaxTimestamp) {
                 mOutOfOrderEvents.add(new IndexedEventPair(mIndex, event, mPreviousEvent));
-            } else if (event.timestamp > mMaxTimestamp) {
+            } else {
                 mMaxTimestamp = event.timestamp;
             }
         }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerificationTest.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerificationTest.java
index b9848fa..f1dc229c8 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerificationTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventOrderingVerificationTest.java
@@ -41,16 +41,6 @@
     }
 
     /**
-     * Test that the verification passes when the timestamps are the same.
-     */
-    public void testSameTimestamp() {
-        SensorStats stats = new SensorStats();
-        EventOrderingVerification verification = getVerification(0, 0, 0, 0, 0);
-        verification.verify(stats);
-        verifyStats(stats, true, 0);
-    }
-
-    /**
      * Test that the verification passes when the timestamps are increasing.
      */
     public void testSequentialTimestamp() {
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
index 3af3f03..15ff5c03 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/EventTimestampSynchronizationVerification.java
@@ -71,11 +71,10 @@
         long fifoMaxEventCount = environment.getSensor().getFifoMaxEventCount();
         int maximumExpectedSamplingPeriodUs = environment.getMaximumExpectedSamplingPeriodUs();
         if (fifoMaxEventCount > 0 && maximumExpectedSamplingPeriodUs != Integer.MAX_VALUE) {
-            long fifoBasedReportLatencyUs =
-                    fifoMaxEventCount * maximumExpectedSamplingPeriodUs;
-            reportLatencyUs = Math.min(reportLatencyUs, fifoBasedReportLatencyUs) +
-                (long)(2.5 * maximumExpectedSamplingPeriodUs);
-            // of each event will be equal to the time it takes to fill up the FIFO.
+            long fifoBasedReportLatencyUs = fifoMaxEventCount * maximumExpectedSamplingPeriodUs;
+            // If the device goes into suspend mode and the sensor is a non wake-up sensor, the
+            // FIFO will keep overwriting itself and the reportLatency will be equal to the time
+            // it takes to fill up the FIFO.
             if (environment.isDeviceSuspendTest() && !environment.getSensor().isWakeUpSensor()) {
                 reportLatencyUs = fifoBasedReportLatencyUs;
             } else {
@@ -86,7 +85,9 @@
                 reportLatencyUs = Math.min(reportLatencyUs, fifoBasedReportLatencyUs);
             }
         }
-        long expectedSyncLatencyNs = TimeUnit.MICROSECONDS.toNanos(reportLatencyUs);
+        // Add an additional filter delay which is a function of the samplingPeriod.
+        long filterDelayUs = (long)(2.5 * maximumExpectedSamplingPeriodUs);
+        long expectedSyncLatencyNs = TimeUnit.MICROSECONDS.toNanos(reportLatencyUs + filterDelayUs);
         return new EventTimestampSynchronizationVerification(DEFAULT_THRESHOLD_NS,
                                                               expectedSyncLatencyNs);
     }
@@ -149,9 +150,12 @@
             if (eventTimestampNs < lowerThresholdNs || eventTimestampNs > upperThresholdNs) {
                 if (failures.size() < TRUNCATE_MESSAGE_LENGTH) {
                     builder.append("position=").append(i);
-                    builder.append(", timestamp=").append(eventTimestampNs).append("ns");
-                    builder.append(", expected=[").append(lowerThresholdNs);
-                    builder.append(", ").append(upperThresholdNs).append("]ns; ");
+                    builder.append(", timestamp=").append(String.format("%.2fms",
+                                nanosToMillis(eventTimestampNs)));
+                    builder.append(", expected=[").append(String.format("%.2fms",
+                                nanosToMillis(lowerThresholdNs)));
+                    builder.append(", ").append(String.format("%.2f]ms; ",
+                                nanosToMillis(upperThresholdNs)));
                 }
                 failures.add(new IndexedEvent(i, event));
             }
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/JitterVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/JitterVerification.java
index 6633903..e5a5053 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/JitterVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/JitterVerification.java
@@ -18,6 +18,10 @@
 
 import junit.framework.Assert;
 
+import android.content.Context;
+import android.content.pm.PackageManager;
+
+import android.util.Log;
 import android.hardware.Sensor;
 import android.hardware.cts.helpers.SensorCtsHelper;
 import android.hardware.cts.helpers.SensorStats;
@@ -39,6 +43,8 @@
 
     // sensorType: threshold (% of expected period)
     private static final SparseIntArray DEFAULTS = new SparseIntArray(12);
+    // Max allowed jitter (in percentage).
+    private static final int THRESHOLD_PERCENT_FOR_HIFI_SENSORS = 1;
     static {
         // Use a method so that the @deprecation warning can be set for that method only
         setDefaults();
@@ -68,6 +74,11 @@
         if (threshold == -1) {
             return null;
         }
+        boolean hasHifiSensors = environment.getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_HIFI_SENSORS);
+        if (hasHifiSensors) {
+           threshold = THRESHOLD_PERCENT_FOR_HIFI_SENSORS;
+        }
         return new JitterVerification(threshold);
     }
 
diff --git a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/StandardDeviationVerification.java b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/StandardDeviationVerification.java
index f7c2c53..20dd2d2 100644
--- a/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/StandardDeviationVerification.java
+++ b/tests/tests/hardware/src/android/hardware/cts/helpers/sensorverification/StandardDeviationVerification.java
@@ -18,10 +18,13 @@
 
 import junit.framework.Assert;
 
+import android.content.Context;
+import android.content.pm.PackageManager;
 import android.hardware.Sensor;
 import android.hardware.cts.helpers.SensorStats;
 import android.hardware.cts.helpers.TestSensorEnvironment;
 import android.hardware.cts.helpers.TestSensorEvent;
+import android.util.Log;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -66,7 +69,21 @@
         if (!DEFAULTS.containsKey(sensorType)) {
             return null;
         }
+        boolean hasHifiSensors = environment.getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_HIFI_SENSORS);
 
+        if (hasHifiSensors) {
+            // Max accelerometer deviation: 400uG/√Hz
+            DEFAULTS.put(Sensor.TYPE_ACCELEROMETER, new float[]{0.004f, 0.004f, 0.004f});
+            // Max gyro deviation: 0.014°/s/√Hz
+            float deviationInRadians = (float) (0.014f * (Math.PI / 180));
+            DEFAULTS.put(Sensor.TYPE_GYROSCOPE,
+                    new float[]{deviationInRadians,deviationInRadians, deviationInRadians});
+            // Max magnetometer deviation: 0.1uT/√Hz
+            DEFAULTS.put(Sensor.TYPE_MAGNETIC_FIELD, new float[]{0.1f, 0.1f, 0.1f});
+            // Max pressure deviation: 2Pa/√Hz
+            DEFAULTS.put(Sensor.TYPE_PRESSURE, new float[]{2.0f, 2.0f, 2.0f});
+        }
         return new StandardDeviationVerification(DEFAULTS.get(sensorType));
     }
 
@@ -107,9 +124,9 @@
             if (stdDevs[i] > mThreshold[i]) {
                 failed = true;
             }
-            stddevSb.append(String.format("%.2f", stdDevs[i]));
+            stddevSb.append(String.format("%.3f", stdDevs[i]));
             if (i != stdDevs.length - 1) stddevSb.append(", ");
-            expectedSb.append(String.format("<%.2f", mThreshold[i]));
+            expectedSb.append(String.format("<%.3f", mThreshold[i]));
             if (i != stdDevs.length - 1) expectedSb.append(", ");
         }
         if (stdDevs.length > 1) {
diff --git a/tests/tests/hardware/src/android/hardware/fingerprint/cts/FingerprintManagerTest.java b/tests/tests/hardware/src/android/hardware/fingerprint/cts/FingerprintManagerTest.java
new file mode 100644
index 0000000..95704b9
--- /dev/null
+++ b/tests/tests/hardware/src/android/hardware/fingerprint/cts/FingerprintManagerTest.java
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.fingerprint.cts;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.hardware.fingerprint.FingerprintManager;
+import android.hardware.fingerprint.FingerprintManager.AuthenticationCallback;
+import android.os.CancellationSignal;
+import android.test.AndroidTestCase;
+
+/**
+ * Basic test cases for FingerprintManager
+ */
+public class FingerprintManagerTest extends AndroidTestCase {
+    private enum AuthState {
+        AUTH_UNKNOWN, AUTH_ERROR, AUTH_FAILED, AUTH_SUCCEEDED
+    }
+    private AuthState mAuthState = AuthState.AUTH_UNKNOWN;
+    private FingerprintManager mFingerprintManager;
+
+    boolean mHasFingerprintManager;
+    private AuthenticationCallback mAuthCallback = new AuthenticationCallback() {
+
+        @Override
+        public void onAuthenticationError(int errorCode, CharSequence errString) {
+        }
+
+        @Override
+        public void onAuthenticationFailed() {
+            mAuthState = AuthState.AUTH_SUCCEEDED;
+        }
+
+        @Override
+        public void onAuthenticationSucceeded(
+                android.hardware.fingerprint.FingerprintManager.AuthenticationResult result) {
+            mAuthState = AuthState.AUTH_SUCCEEDED;
+        }
+    };
+
+    @Override
+    public void setUp() throws Exception {
+        super.setUp();
+        mAuthState = AuthState.AUTH_UNKNOWN;
+
+        PackageManager pm = getContext().getPackageManager();
+        if (pm.hasSystemFeature(PackageManager.FEATURE_FINGERPRINT)) {
+            mHasFingerprintManager = true;
+            mFingerprintManager = (FingerprintManager)
+                    getContext().getSystemService(Context.FINGERPRINT_SERVICE);
+        }
+    }
+
+    public void test_hasFingerprintHardware() {
+        if (!mHasFingerprintManager) {
+            return; // skip test if no fingerprint feature
+        }
+        assertTrue(mFingerprintManager.isHardwareDetected());
+    }
+
+    public void test_hasEnrolledFingerprints() {
+        if (!mHasFingerprintManager) {
+            return; // skip test if no fingerprint feature
+        }
+        boolean hasEnrolledFingerprints = mFingerprintManager.hasEnrolledFingerprints();
+        assertTrue(!hasEnrolledFingerprints);
+    }
+
+    public void test_authenticateNullCallback() {
+        if (!mHasFingerprintManager) {
+            return; // skip test if no fingerprint feature
+        }
+        boolean exceptionTaken = false;
+        CancellationSignal cancelAuth = new CancellationSignal();
+        try {
+            mFingerprintManager.authenticate(null, cancelAuth, 0, null, null);
+        } catch (IllegalArgumentException e) {
+            exceptionTaken = true;
+        } finally {
+            assertTrue(mAuthState == AuthState.AUTH_UNKNOWN);
+            assertTrue(exceptionTaken);
+            cancelAuth.cancel();
+        }
+    }
+
+    public void test_authenticate() {
+        if (!mHasFingerprintManager) {
+            return; // skip test if no fingerprint feature
+        }
+        boolean exceptionTaken = false;
+        CancellationSignal cancelAuth = new CancellationSignal();
+        try {
+            mFingerprintManager.authenticate(null, cancelAuth, 0, mAuthCallback, null);
+        } catch (IllegalArgumentException e) {
+            exceptionTaken = true;
+        } finally {
+            assertFalse(exceptionTaken);
+            // We should never get out of this state without user interaction
+            assertTrue(mAuthState == AuthState.AUTH_UNKNOWN);
+            cancelAuth.cancel();
+        }
+    }
+}
diff --git a/tests/tests/hardware/src/android/hardware/input/cts/InputCtsActivity.java b/tests/tests/hardware/src/android/hardware/input/cts/InputCtsActivity.java
deleted file mode 100644
index b16cadb..0000000
--- a/tests/tests/hardware/src/android/hardware/input/cts/InputCtsActivity.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.input.cts;
-
-import android.app.Activity;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class InputCtsActivity extends Activity {
-    private InputCallback mInputCallback;
-
-    @Override
-    public boolean dispatchGenericMotionEvent(MotionEvent ev) {
-        if (mInputCallback != null) {
-            mInputCallback.onMotionEvent(ev);
-        }
-        return true;
-    }
-
-    @Override
-    public boolean dispatchTouchEvent(MotionEvent ev) {
-        if (mInputCallback != null) {
-            mInputCallback.onMotionEvent(ev);
-        }
-        return true;
-    }
-
-    @Override
-    public boolean dispatchTrackballEvent(MotionEvent ev) {
-        if (mInputCallback != null) {
-            mInputCallback.onMotionEvent(ev);
-        }
-        return true;
-    }
-
-    @Override
-    public boolean dispatchKeyEvent(KeyEvent ev) {
-        if (mInputCallback != null) {
-            mInputCallback.onKeyEvent(ev);
-        }
-        return true;
-    }
-
-    public void setInputCallback(InputCallback callback) {
-        mInputCallback = callback;
-    }
-}
diff --git a/tests/tests/hardware/src/android/hardware/input/cts/tests/GamepadTestCase.java b/tests/tests/hardware/src/android/hardware/input/cts/tests/GamepadTestCase.java
deleted file mode 100644
index 92fba12..0000000
--- a/tests/tests/hardware/src/android/hardware/input/cts/tests/GamepadTestCase.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.input.cts.tests;
-
-import android.util.Log;
-import android.view.KeyEvent;
-
-import java.io.Writer;
-import java.util.List;
-
-import com.android.cts.hardware.R;
-
-public class GamepadTestCase extends InputTestCase {
-    private static final String TAG = "GamepadTests";
-
-    public void testButtonA() throws Exception {
-        sendHidCommands(R.raw.gamepad_press_a);
-        assertReceivedKeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BUTTON_A);
-        assertReceivedKeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BUTTON_A);
-        assertNoMoreEvents();
-    }
-}
diff --git a/tests/tests/hardware/src/android/hardware/input/cts/tests/InputTestCase.java b/tests/tests/hardware/src/android/hardware/input/cts/tests/InputTestCase.java
deleted file mode 100644
index fba5f51..0000000
--- a/tests/tests/hardware/src/android/hardware/input/cts/tests/InputTestCase.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.hardware.input.cts.tests;
-
-import android.app.UiAutomation;
-import android.hardware.input.cts.InputCtsActivity;
-import android.hardware.input.cts.InputCallback;
-import android.system.ErrnoException;
-import android.system.Os;
-import android.test.ActivityInstrumentationTestCase2;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.MotionEvent;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
-import java.util.List;
-import java.util.UUID;
-
-public class InputTestCase extends ActivityInstrumentationTestCase2<InputCtsActivity> {
-    private static final String TAG = "InputTestCase";
-    private static final String HID_EXECUTABLE = "hid";
-    private static final int SHELL_UID = 2000;
-    private static final String[] KEY_ACTIONS = {"DOWN", "UP", "MULTIPLE"};
-
-    private File mFifo;
-    private Writer mWriter;
-
-    private BlockingQueue<KeyEvent> mKeys;
-    private BlockingQueue<MotionEvent> mMotions;
-    private InputListener mInputListener;
-
-    public InputTestCase() {
-        super(InputCtsActivity.class);
-        mKeys = new LinkedBlockingQueue<KeyEvent>();
-        mMotions = new LinkedBlockingQueue<MotionEvent>();
-        mInputListener = new InputListener();
-    }
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        mFifo = setupFifo();
-        clearKeys();
-        clearMotions();
-        getActivity().setInputCallback(mInputListener);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        if (mFifo != null) {
-            mFifo.delete();
-            mFifo = null;
-        }
-        closeQuietly(mWriter);
-        mWriter = null;
-        super.tearDown();
-    }
-
-    /**
-     * Sends the HID commands designated by the given resource id.
-     * The commands must be in the format expected by the `hid` shell command.
-     *
-     * @param id The resource id from which to load the HID commands. This must be a "raw"
-     * resource.
-     */
-    public void sendHidCommands(int id) {
-        try {
-            Writer w = getWriter();
-            w.write(getEvents(id));
-            w.flush();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Asserts that the application received a {@link android.view.KeyEvent} with the given action
-     * and keycode.
-     *
-     * If other KeyEvents are received by the application prior to the expected KeyEvent, or no
-     * KeyEvents are received within a reasonable amount of time, then this will throw an
-     * AssertionFailedError.
-     *
-     * @param action The action to expect on the next KeyEvent
-     * (e.g. {@link android.view.KeyEvent#ACTION_DOWN}).
-     * @param keyCode The expected key code of the next KeyEvent.
-     */
-    public void assertReceivedKeyEvent(int action, int keyCode) {
-        KeyEvent k = waitForKey();
-        if (k == null) {
-            fail("Timed out waiting for " + KeyEvent.keyCodeToString(keyCode)
-                    + " with action " + KEY_ACTIONS[action]);
-            return;
-        }
-        assertEquals(action, k.getAction());
-        assertEquals(keyCode, k.getKeyCode());
-    }
-
-    /**
-     * Asserts that no more events have been received by the application.
-     *
-     * If any more events have been received by the application, this throws an
-     * AssertionFailedError.
-     */
-    public void assertNoMoreEvents() {
-        KeyEvent key;
-        MotionEvent motion;
-        if ((key = mKeys.poll()) != null) {
-            fail("Extraneous key events generated: " + key);
-        }
-        if ((motion = mMotions.poll()) != null) {
-            fail("Extraneous motion events generated: " + motion);
-        }
-    }
-
-    private KeyEvent waitForKey() {
-        try {
-            return mKeys.poll(1, TimeUnit.SECONDS);
-        } catch (InterruptedException e) {
-            return null;
-        }
-    }
-
-    private void clearKeys() {
-        mKeys.clear();
-    }
-
-    private void clearMotions() {
-        mMotions.clear();
-    }
-
-    private File setupFifo() throws ErrnoException {
-        File dir = getActivity().getCacheDir();
-        String filename = dir.getAbsolutePath() + File.separator +  UUID.randomUUID().toString();
-        Os.mkfifo(filename, 0666);
-        File f = new File(filename);
-        return f;
-    }
-
-    private Writer getWriter() throws IOException {
-        if (mWriter == null) {
-            UiAutomation ui = getInstrumentation().getUiAutomation();
-            ui.executeShellCommand("hid " + mFifo.getAbsolutePath());
-            mWriter = new FileWriter(mFifo);
-        }
-        return mWriter;
-    }
-
-    private String getEvents(int id) throws IOException {
-        InputStream is =
-            getInstrumentation().getTargetContext().getResources().openRawResource(id);
-        return readFully(is);
-    }
-
-
-    private static void closeQuietly(AutoCloseable closeable) {
-        if (closeable != null) {
-            try {
-                closeable.close();
-            } catch (RuntimeException rethrown) {
-                throw rethrown;
-            } catch (Exception ignored) { }
-        }
-    }
-
-    private static String readFully(InputStream is) throws IOException {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        int read = 0;
-        byte[] buffer = new byte[1024];
-        while ((read = is.read(buffer)) >= 0) {
-            baos.write(buffer, 0, read);
-        }
-        return baos.toString();
-    }
-
-    private class InputListener implements InputCallback {
-        public void onKeyEvent(KeyEvent ev) {
-            boolean done = false;
-            do {
-                try {
-                    mKeys.put(new KeyEvent(ev));
-                    done = true;
-                } catch (InterruptedException ignore) { }
-            } while (!done);
-        }
-
-        public void onMotionEvent(MotionEvent ev) {
-            boolean done = false;
-            do {
-                try {
-                    mMotions.put(MotionEvent.obtain(ev));
-                    done = true;
-                } catch (InterruptedException ignore) { }
-            } while (!done);
-        }
-    }
-}
diff --git a/tests/tests/hardware/src/android/hardware/multiprocess/camera/cts/CameraEvictionTest.java b/tests/tests/hardware/src/android/hardware/multiprocess/camera/cts/CameraEvictionTest.java
index 3cf1dc7..aa34de3 100644
--- a/tests/tests/hardware/src/android/hardware/multiprocess/camera/cts/CameraEvictionTest.java
+++ b/tests/tests/hardware/src/android/hardware/multiprocess/camera/cts/CameraEvictionTest.java
@@ -121,7 +121,6 @@
 
     @Override
     protected void tearDown() throws Exception {
-        super.tearDown();
         if (mProcessPid != -1) {
             android.os.Process.killProcess(mProcessPid);
             mProcessPid = -1;
@@ -140,6 +139,7 @@
         }
         mContext = null;
         mActivityManager = null;
+        super.tearDown();
     }
 
     /**
@@ -241,7 +241,12 @@
         CameraManager manager = (CameraManager) mContext.getSystemService(Context.CAMERA_SERVICE);
         assertNotNull(manager);
         String[] cameraIds = manager.getCameraIdList();
-        assertNotEmpty(cameraIds);
+
+        if (cameraIds.length == 0) {
+            Log.i(TAG, "Skipping testBasicCamera2ActivityEviction, device has no cameras.");
+            return;
+        }
+
         assertTrue(mContext.getMainLooper() != null);
 
         // Setup camera manager
diff --git a/tests/tests/keystore/res/raw/ec_key3_secp224r1_cert.der b/tests/tests/keystore/res/raw/ec_key3_secp224r1_cert.der
new file mode 100644
index 0000000..454edb3
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key3_secp224r1_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key3_secp224r1_pkcs8.der b/tests/tests/keystore/res/raw/ec_key3_secp224r1_pkcs8.der
new file mode 100644
index 0000000..2b89ca3
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key3_secp224r1_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key4_secp256r1_cert.der b/tests/tests/keystore/res/raw/ec_key4_secp256r1_cert.der
new file mode 100644
index 0000000..1641a65
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key4_secp256r1_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key4_secp256r1_pkcs8.der b/tests/tests/keystore/res/raw/ec_key4_secp256r1_pkcs8.der
new file mode 100644
index 0000000..2631a6e
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key4_secp256r1_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key5_secp384r1_cert.der b/tests/tests/keystore/res/raw/ec_key5_secp384r1_cert.der
new file mode 100644
index 0000000..cf19be8
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key5_secp384r1_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key5_secp384r1_pkcs8.der b/tests/tests/keystore/res/raw/ec_key5_secp384r1_pkcs8.der
new file mode 100644
index 0000000..f864258
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key5_secp384r1_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key6_secp521r1_cert.der b/tests/tests/keystore/res/raw/ec_key6_secp521r1_cert.der
new file mode 100644
index 0000000..cc5d973
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key6_secp521r1_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/ec_key6_secp521r1_pkcs8.der b/tests/tests/keystore/res/raw/ec_key6_secp521r1_pkcs8.der
new file mode 100644
index 0000000..d21815f
--- /dev/null
+++ b/tests/tests/keystore/res/raw/ec_key6_secp521r1_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key3_1024_cert.der b/tests/tests/keystore/res/raw/rsa_key3_1024_cert.der
new file mode 100644
index 0000000..36f6820
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key3_1024_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key3_1024_pkcs8.der b/tests/tests/keystore/res/raw/rsa_key3_1024_pkcs8.der
new file mode 100644
index 0000000..3b70b0d
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key3_1024_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key4_4096_cert.der b/tests/tests/keystore/res/raw/rsa_key4_4096_cert.der
new file mode 100644
index 0000000..24d9a52
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key4_4096_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key4_4096_pkcs8.der b/tests/tests/keystore/res/raw/rsa_key4_4096_pkcs8.der
new file mode 100644
index 0000000..d3d08ca
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key4_4096_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key5_512_cert.der b/tests/tests/keystore/res/raw/rsa_key5_512_cert.der
new file mode 100644
index 0000000..56079dc
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key5_512_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key5_512_pkcs8.der b/tests/tests/keystore/res/raw/rsa_key5_512_pkcs8.der
new file mode 100644
index 0000000..8f723d3
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key5_512_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key6_768_cert.der b/tests/tests/keystore/res/raw/rsa_key6_768_cert.der
new file mode 100644
index 0000000..8afc59b
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key6_768_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key6_768_pkcs8.der b/tests/tests/keystore/res/raw/rsa_key6_768_pkcs8.der
new file mode 100644
index 0000000..7d25fe7
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key6_768_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key7_3072_cert.der b/tests/tests/keystore/res/raw/rsa_key7_3072_cert.der
new file mode 100644
index 0000000..414c35d
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key7_3072_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key7_3072_pksc8.der b/tests/tests/keystore/res/raw/rsa_key7_3072_pksc8.der
new file mode 100644
index 0000000..32788d2
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key7_3072_pksc8.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key8_2048_cert.der b/tests/tests/keystore/res/raw/rsa_key8_2048_cert.der
new file mode 100644
index 0000000..bbbd81b
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key8_2048_cert.der
Binary files differ
diff --git a/tests/tests/keystore/res/raw/rsa_key8_2048_pkcs8.der b/tests/tests/keystore/res/raw/rsa_key8_2048_pkcs8.der
new file mode 100644
index 0000000..94211ad
--- /dev/null
+++ b/tests/tests/keystore/res/raw/rsa_key8_2048_pkcs8.der
Binary files differ
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES128GCMNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES128GCMNoPaddingCipherTest.java
index 6ae13ce..ed9c2b1 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AES128GCMNoPaddingCipherTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AES128GCMNoPaddingCipherTest.java
@@ -23,9 +23,14 @@
     private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
             "6d7596a8fd56ceaec61de7940984b7736fec44f572afc3c8952e4dc6541e2bc6a702c440a37610989543f6"
             + "3fedb047ca2173bc18581944");
-    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+    private static final byte[] KAT_CIPHERTEXT_WITHOUT_AAD = HexEncoding.decode(
             "b3f6799e8f9326f2df1e80fcd2cb16d78c9dc7cc14bb677862dc6c639b3a6338d24b312d3989e5920b5dbf"
             + "c976765efbfe57bb385940a7a43bdf05bddae3c9d6a2fbbdfcc0cba0");
+    private static final byte[] KAT_AAD = HexEncoding.decode(
+            "d3bc7458914f45d56d5fcfbb2eeff2dcc0e620c1229d90904e98930ea71aa43b6898f846f3244d");
+    private static final byte[] KAT_CIPHERTEXT_WITH_AAD = HexEncoding.decode(
+            "b3f6799e8f9326f2df1e80fcd2cb16d78c9dc7cc14bb677862dc6c639b3a6338d24b312d3989e5920b5dbf"
+            + "c976765efbfe57bb385940a70c106264d81506f8daf9cd6a1c70988c");
 
     @Override
     protected byte[] getKatKey() {
@@ -44,6 +49,16 @@
 
     @Override
     protected byte[] getKatCiphertext() {
-        return KAT_CIPHERTEXT.clone();
+        return KAT_CIPHERTEXT_WITHOUT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatAad() {
+        return KAT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertextWhenKatAadPresent() {
+        return KAT_CIPHERTEXT_WITH_AAD.clone();
     }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192CBCNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192CBCNoPaddingCipherTest.java
new file mode 100644
index 0000000..f49c7c3
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192CBCNoPaddingCipherTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192CBCNoPaddingCipherTest extends AESCBCNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "be8cc4e25cce46e5d55725e2391f7d3cf59ed60062f5a43b");
+    private static final byte[] KAT_IV = HexEncoding.decode("80a199aab0eee77e7762ddf3b3a32f40");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "064f9200e0df37d4711af4a69d11addf9e1c345d9d8195f9f1f715019ce96a167f2497c994bd496eb80bfb"
+            + "2ba2c9d5af");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "859b90becaa85e95a71e104efbd7a3b723bcbf4eb39865544a05d9e90b6fe572c134552f3a138e726fbe49"
+            + "3b3a839598");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192CBCPKCS7PaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192CBCPKCS7PaddingCipherTest.java
new file mode 100644
index 0000000..b17befc
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192CBCPKCS7PaddingCipherTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192CBCPKCS7PaddingCipherTest extends AESCBCPKCS7PaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "68969215ec41e4df7d23de0e806f458f52aff492bd7c5263");
+    private static final byte[] KAT_IV = HexEncoding.decode("e61d13dfbf0533289f0e7950209da418");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "8d4c1cac27511ee2d82409a7f378e7e402b0eb189c1eaa5c506eb72a9074b170");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "e70bcd62c595dc1b2b8c197bb91a7447e1be2cbcf3fdc69e7e991faf0f57cf4e3884138ff403a41fd99818"
+            + "708ada301c");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192CTRNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192CTRNoPaddingCipherTest.java
new file mode 100644
index 0000000..d4a4143
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192CTRNoPaddingCipherTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192CTRNoPaddingCipherTest extends AESCTRNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "5e2036e790d38815c90beb67a1c9e5aa0e167ef082927317");
+    private static final byte[] KAT_IV = HexEncoding.decode("df0694959b89054156962d68a226965c");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "6ed2781c99e03e45314d6019932220c2c98130c53f9f67ad10ac519adf50e928091e09cdbbd3b42b");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "e427b6666502e05b82d0b20ae50e862b1936d71266fc49178ac984e71571f22ae0f90f0c19f42b4a");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192ECBNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192ECBNoPaddingCipherTest.java
new file mode 100644
index 0000000..0557d03
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192ECBNoPaddingCipherTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192ECBNoPaddingCipherTest extends AESECBNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "3cab83fb338ba985fbfe74c5e9d2e900adb570b1d67faf92");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "2cc64c335a13fb838f3c6aad0a6b47297ca90bb886ddb059200f0b41740c44ab");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "9c5c825328f5ee0aa24947e374d3f9165f484b39dd808c790d7a129648102453");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return null;
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192ECBPKCS7PaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192ECBPKCS7PaddingCipherTest.java
new file mode 100644
index 0000000..1cf193c
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192ECBPKCS7PaddingCipherTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192ECBPKCS7PaddingCipherTest extends AESECBPKCS7PaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "d57f4e5446f736c16476ec4db5decc7b1bf3936e4f7e4618");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "b115777f1ee7a43a07daa6401e59c46b7a98213a8747eabfbe3ca4ec93524de2c7");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "1e92cd20da08bb5fa174a7a69879d4fc25a155e6af06d75b26c5b450d273c8bb7e3a889dd4a9589098b44a"
+            + "cf1056e7aa");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return null;
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES192GCMNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES192GCMNoPaddingCipherTest.java
new file mode 100644
index 0000000..66b37d3
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES192GCMNoPaddingCipherTest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES192GCMNoPaddingCipherTest extends AESGCMNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "21339fc1d011abca65d50ce2365230603fd47d07e8830f6e");
+    private static final byte[] KAT_IV = HexEncoding.decode("d5fb1469a8d81dd75286a418");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "cf776dedf53a828d51a0073db3ef0dd1ee19e2e9e243ce97e95841bb9ad4e3ff52");
+    private static final byte[] KAT_CIPHERTEXT_WITHOUT_AAD = HexEncoding.decode(
+            "3a0d48278111d3296bc663df8a5dbeb2474ea47fd85b608f8d9375d9dcf7de1413ad70fb0e1970669095ad"
+            + "77ebb5974ae8");
+    private static final byte[] KAT_AAD = HexEncoding.decode(
+            "04cdc1d840c17dcfccf78b3d792463740ce0bfdc167b98a632e144cafe9663");
+    private static final byte[] KAT_CIPHERTEXT_WITH_AAD = HexEncoding.decode(
+            "3a0d48278111d3296bc663df8a5dbeb2474ea47fd85b608f8d9375d9dcf7de141380718b9f6c023fb091c7"
+            + "6891a91683e2");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT_WITHOUT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatAad() {
+        return KAT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertextWhenKatAadPresent() {
+        return KAT_CIPHERTEXT_WITH_AAD.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256CBCNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256CBCNoPaddingCipherTest.java
new file mode 100644
index 0000000..b6620ef
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256CBCNoPaddingCipherTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256CBCNoPaddingCipherTest extends AESCBCNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "dd2f20dc6b98c100bac919120ff95eb5d96003f8229987b283a1e777b0cd5c30");
+    private static final byte[] KAT_IV = HexEncoding.decode("23b4d85239fb90db93b07a981e90a170");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "2fbe5d46dca5cea433e550d8b291740ab9551c2a2d37680d7fb7b993225f58494cb53caca353e4b637ba05"
+            + "687be20f8d");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "5aba24fc316936c8369061ee8fe463e4faed04288e204456626b988c0e376b6047da1e4fd7c4e1cf265609"
+            + "7f75ae8685");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256CBCPKCS7PaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256CBCPKCS7PaddingCipherTest.java
new file mode 100644
index 0000000..6613463
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256CBCPKCS7PaddingCipherTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256CBCPKCS7PaddingCipherTest extends AESCBCPKCS7PaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "03ab2510520f5cfebfab0a17a7f8324c9634911f6fc59e586f85346bb38ac88a");
+    private static final byte[] KAT_IV = HexEncoding.decode("9af96967195bb0184f129beffa8241ae");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "2d6944653ac14988a772a2730b7c5bfa99a21732ae26f40cdc5b3a2874c7942545a82b73c48078b9dae622"
+            + "61c65909");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "26b308f7e1668b55705a79c8b3ad10e244655f705f027f390a5c34e4536f519403a71987b95124073d69f2"
+            + "a3cb95b0ab");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256CTRNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256CTRNoPaddingCipherTest.java
new file mode 100644
index 0000000..bdcff41
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256CTRNoPaddingCipherTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256CTRNoPaddingCipherTest extends AESCTRNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "928b380a8fed4b4b4cfeb56e0c66a4cb0f9ff58d61ac68bcfd0e3fbd910a684f");
+    private static final byte[] KAT_IV = HexEncoding.decode("0b678a5249e6eeda461dfb4776b6c58e");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "f358de57543b297e997cba46fb9100553d6abd65377e55b9aac3006400ead11f6db3c884");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "a07a35fbd1776ad81462e1935f542337add60962bf289249476817b6ddd532a7be30d4c3");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256ECBNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256ECBNoPaddingCipherTest.java
new file mode 100644
index 0000000..847a767
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256ECBNoPaddingCipherTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256ECBNoPaddingCipherTest extends AESECBNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "fa4622d9cf6485075daedd33d2c4fffdf859e2edb7f7df4f04603f7e647fae90");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "96ccabbe0c68970d8cdee2b30ab43c2d61cc50ee68271e77571e72478d713a31a476d6806b8116089c6ec5"
+            + "0bb543200f");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "0e81839e9dfbfe3b503d619e676abe5ac80fac3f245d8f09b9134b1b32a67dc83e377faf246288931136be"
+            + "f2a07c0be4");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return null;
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256ECBPKCS7PaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256ECBPKCS7PaddingCipherTest.java
new file mode 100644
index 0000000..0faffe9
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256ECBPKCS7PaddingCipherTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256ECBPKCS7PaddingCipherTest extends AESECBPKCS7PaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "bf3f07c68467fead0ca8e2754500ab514258abf02eb7e615a493bcaaa45d5ee1");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "af0757e49018dad628f16998628a407db5f28291bef3bc2e4d8a5a31fb238e6f");
+    private static final byte[] KAT_CIPHERTEXT = HexEncoding.decode(
+            "21ec3011074bf1ef140643d47130326c5e183f61237c69bc77551ca207d71fc2b90cfac6c8d2d125e5cd9f"
+            + "f353dee0df");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return null;
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AES256GCMNoPaddingCipherTest.java b/tests/tests/keystore/src/android/keystore/cts/AES256GCMNoPaddingCipherTest.java
new file mode 100644
index 0000000..971e610
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/AES256GCMNoPaddingCipherTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+public class AES256GCMNoPaddingCipherTest extends AESGCMNoPaddingCipherTestBase {
+
+    private static final byte[] KAT_KEY = HexEncoding.decode(
+            "7972140d831eedac75d5ea515c9a4c3bb124499a90b5f317ac1a685e88fae395");
+    private static final byte[] KAT_IV = HexEncoding.decode("a66c5252808d823dd4151fed");
+    private static final byte[] KAT_PLAINTEXT = HexEncoding.decode(
+            "c2b9dabf3a55adaa94e8c0d1e77a84a3435aee23b2c3c4abb587b09a9c2afbf0");
+    private static final byte[] KAT_CIPHERTEXT_WITHOUT_AAD = HexEncoding.decode(
+            "a960619314657b2afb96b93bebb372bffd09e19d53e351f17d1ba2611f9dc33c9c92d563e8fd381254ac26"
+            + "2aa2a4ea0d");
+    private static final byte[] KAT_AAD = HexEncoding.decode(
+            "3727229db7a3ccda7283f628fb8a3cdf093ea1f4e8bd1bc40a830fc6df6fb0e249845dd7d449b2bc3b5ba4"
+            + "2258fb92c7");
+    private static final byte[] KAT_CIPHERTEXT_WITH_AAD = HexEncoding.decode(
+            "a960619314657b2afb96b93bebb372bffd09e19d53e351f17d1ba2611f9dc33c1501caa6cca0a281f42bc3"
+            + "10d1e4488f");
+
+    @Override
+    protected byte[] getKatKey() {
+        return KAT_KEY.clone();
+    }
+
+    @Override
+    protected byte[] getKatIv() {
+        return KAT_IV.clone();
+    }
+
+    @Override
+    protected byte[] getKatPlaintext() {
+        return KAT_PLAINTEXT.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertext() {
+        return KAT_CIPHERTEXT_WITHOUT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatAad() {
+        return KAT_AAD.clone();
+    }
+
+    @Override
+    protected byte[] getKatCiphertextWhenKatAadPresent() {
+        return KAT_CIPHERTEXT_WITH_AAD.clone();
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/AESCipherNistCavpKatTest.java b/tests/tests/keystore/src/android/keystore/cts/AESCipherNistCavpKatTest.java
index 520b54d..1f6ebd7 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AESCipherNistCavpKatTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AESCipherNistCavpKatTest.java
@@ -19,7 +19,6 @@
 import android.security.keystore.KeyProperties;
 import android.security.keystore.KeyProtection;
 import android.test.AndroidTestCase;
-import android.util.Log;
 
 import java.io.BufferedReader;
 import java.io.ByteArrayInputStream;
@@ -28,7 +27,6 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.security.KeyStore;
-import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
@@ -40,58 +38,142 @@
 
 public class AESCipherNistCavpKatTest extends AndroidTestCase {
 
-    private static final String TAG = AESCipherNistCavpKatTest.class.getSimpleName();
+    public void testECBVarKey128() throws Exception {
+        runTestsForKatFile("ECBVarKey128.rsp");
+    }
 
-    public void testSomething() throws Exception {
+    public void testECBVarKey192() throws Exception {
+        runTestsForKatFile("ECBVarKey192.rsp");
+    }
+    public void testECBVarKey256() throws Exception {
+        runTestsForKatFile("ECBVarKey256.rsp");
+    }
+
+    public void testECBVarTxt128() throws Exception {
+        runTestsForKatFile("ECBVarTxt128.rsp");
+    }
+
+    public void testECBVarTxt192() throws Exception {
+        runTestsForKatFile("ECBVarTxt192.rsp");
+    }
+
+    public void testECBVarTxt256() throws Exception {
+        runTestsForKatFile("ECBVarTxt256.rsp");
+    }
+
+    public void testECBGFSbox128() throws Exception {
+        runTestsForKatFile("ECBGFSbox128.rsp");
+    }
+
+    public void testECBGFSbox192() throws Exception {
+        runTestsForKatFile("ECBGFSbox192.rsp");
+    }
+
+    public void testECBGFSbox256() throws Exception {
+        runTestsForKatFile("ECBGFSbox256.rsp");
+    }
+
+    public void testECBKeySbox128() throws Exception {
+        runTestsForKatFile("ECBKeySbox128.rsp");
+    }
+
+    public void testECBKeySbox192() throws Exception {
+        runTestsForKatFile("ECBKeySbox192.rsp");
+    }
+
+    public void testECBKeySbox256() throws Exception {
+        runTestsForKatFile("ECBKeySbox256.rsp");
+    }
+
+    public void testCBCVarKey128() throws Exception {
+        runTestsForKatFile("CBCVarKey128.rsp");
+    }
+
+    public void testCBCVarKey192() throws Exception {
+        runTestsForKatFile("CBCVarKey192.rsp");
+    }
+    public void testCBCVarKey256() throws Exception {
+        runTestsForKatFile("CBCVarKey256.rsp");
+    }
+
+    public void testCBCVarTxt128() throws Exception {
+        runTestsForKatFile("CBCVarTxt128.rsp");
+    }
+
+    public void testCBCVarTxt192() throws Exception {
+        runTestsForKatFile("CBCVarTxt192.rsp");
+    }
+
+    public void testCBCVarTxt256() throws Exception {
+        runTestsForKatFile("CBCVarTxt256.rsp");
+    }
+
+    public void testCBCGFSbox128() throws Exception {
+        runTestsForKatFile("CBCGFSbox128.rsp");
+    }
+
+    public void testCBCGFSbox192() throws Exception {
+        runTestsForKatFile("CBCGFSbox192.rsp");
+    }
+
+    public void testCBCGFSbox256() throws Exception {
+        runTestsForKatFile("CBCGFSbox256.rsp");
+    }
+
+    public void testCBCKeySbox128() throws Exception {
+        runTestsForKatFile("CBCKeySbox128.rsp");
+    }
+
+    public void testCBCKeySbox192() throws Exception {
+        runTestsForKatFile("CBCKeySbox192.rsp");
+    }
+
+    public void testCBCKeySbox256() throws Exception {
+        runTestsForKatFile("CBCKeySbox256.rsp");
+    }
+
+    private void runTestsForKatFile(String fileName) throws Exception {
         try (ZipInputStream zipIn = new ZipInputStream(
                 getContext().getResources().getAssets().open("nist_cavp_aes_kat.zip"))) {
             ZipEntry zipEntry;
+            byte[] entryContents = null;
             while ((zipEntry = zipIn.getNextEntry()) != null) {
                 String entryName = zipEntry.getName();
-                if (!entryName.endsWith(".rsp")) {
-                    continue;
-                }
 
-                if (zipEntry.getSize() > 1024 * 1024) {
-                    fail("Entry " + entryName + " too large: " + zipEntry.getSize() + " bytes");
-                }
-                byte[] entryContents = new byte[(int) zipEntry.getSize()];
+                // We have to read the contents of all entries because there's no way to skip an
+                // entry without reading its contents.
+                entryContents = new byte[(int) zipEntry.getSize()];
                 readFully(zipIn, entryContents);
-                runTestsForKatFile(entryName, entryContents);
+
+                if (fileName.equals(entryName)) {
+                    break;
+                }
             }
+
+            if (entryContents == null) {
+                fail(fileName + " not found");
+                return;
+            }
+
+            String blockMode = fileName.substring(0, 3);
+            if ("CFB".equals(blockMode)) {
+                blockMode = fileName.substring(0, 4);
+            }
+            runTestsForKatFile(blockMode, entryContents);
         }
     }
 
-    private void runTestsForKatFile(String fileName, byte[] contents) throws Exception {
-        if ((!fileName.endsWith(".rsp")) || (fileName.length() < 10)) {
-            Log.i(TAG, "Ignoring " + fileName + " -- not a KAT file");
-            return;
-        }
-        String mode = fileName.substring(0, 3);
-        if ("CFB".equals(mode)) {
-            mode = fileName.substring(0, 4);
-        }
-        try {
-            Cipher.getInstance("AES/" + mode + "/NoPadding", "AndroidKeyStoreBCWorkaround");
-        } catch (NoSuchAlgorithmException e) {
-            if (("CBC".equals(mode)) || ("ECB".equals(mode))) {
-                fail("Supported mode is apparently not supported: " + mode);
-            }
-            Log.i(TAG, "Skipping " + fileName
-                    + " -- transformation not supported by AndroidKeyStore");
-            return;
-        }
-
+    private void runTestsForKatFile(String blockMode, byte[] fileContents) throws Exception {
         BufferedReader in = null;
+        int testNumber = 0;
         try {
             in = new BufferedReader(new InputStreamReader(
-                    new ByteArrayInputStream(contents), "ISO-8859-1"));
+                    new ByteArrayInputStream(fileContents), "ISO-8859-1"));
             String line;
             int lineNumber = 0;
             String section = null; // ENCRYPT or DECRYPT
 
             boolean insideTestDefinition = false;
-            int testNumber = 0;
             TestVector testVector = null;
 
             while ((line = in.readLine()) != null) {
@@ -145,8 +227,7 @@
                         } else {
                             throw new IOException("Unexpected test operation: " + section);
                         }
-                        Log.d(TAG, "Running test #" + testNumber + ": AES/" + mode + " from " + fileName);
-                        runKatTest(mode, encrypt, testVector);
+                        runKatTest(blockMode, encrypt, testVector);
                         insideTestDefinition = false;
                         testVector = null;
                     } else {
@@ -174,6 +255,8 @@
                     }
                 }
             }
+        } catch (Throwable e) {
+            throw new RuntimeException("Test #" + testNumber + " failed", e);
         } finally {
             if (in != null) {
                 try {
@@ -225,7 +308,7 @@
         while (remaining > 0) {
             int chunkSize = in.read(buf, offset, remaining);
             if (chunkSize == -1) {
-                throw new EOFException("Premature EOF. Remainig: " + remaining);
+                throw new EOFException("Premature EOF. Remaining: " + remaining);
             }
             offset += chunkSize;
             remaining -= chunkSize;
diff --git a/tests/tests/keystore/src/android/keystore/cts/AESECBCipherTestBase.java b/tests/tests/keystore/src/android/keystore/cts/AESECBCipherTestBase.java
index 5ecf22f..b2752dc 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AESECBCipherTestBase.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AESECBCipherTestBase.java
@@ -54,4 +54,8 @@
         }
         return null;
     }
+
+    public void testInitRejectsIvParameterSpec() throws Exception {
+        assertInitRejectsIvParameterSpec(new byte[getBlockSize()]);
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/AESGCMCipherTestBase.java b/tests/tests/keystore/src/android/keystore/cts/AESGCMCipherTestBase.java
index d901674..1c3404a 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AESGCMCipherTestBase.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AESGCMCipherTestBase.java
@@ -16,14 +16,21 @@
 
 package android.keystore.cts;
 
+import java.nio.ByteBuffer;
 import java.security.AlgorithmParameters;
+import java.security.Key;
 import java.security.spec.AlgorithmParameterSpec;
 import java.security.spec.InvalidParameterSpecException;
 
+import javax.crypto.AEADBadTagException;
+import javax.crypto.Cipher;
 import javax.crypto.spec.GCMParameterSpec;
 
 abstract class AESGCMCipherTestBase extends BlockCipherTestBase {
 
+    protected abstract byte[] getKatAad();
+    protected abstract byte[] getKatCiphertextWhenKatAadPresent();
+
     @Override
     protected boolean isStreamCipher() {
         return true;
@@ -54,4 +61,148 @@
         GCMParameterSpec spec = params.getParameterSpec(GCMParameterSpec.class);
         return spec.getIV();
     }
+
+    public void testKatEncryptWithAadProvidedInOneGo() throws Exception {
+        createCipher();
+        assertKatTransformWithAadProvidedInOneGo(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent());
+    }
+
+    public void testKatDecryptWithAadProvidedInOneGo() throws Exception {
+        createCipher();
+        assertKatTransformWithAadProvidedInOneGo(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext());
+    }
+
+    public void testKatEncryptWithAadProvidedInChunks() throws Exception {
+        createCipher();
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent(),
+                1);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent(),
+                8);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent(),
+                3);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent(),
+                7);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.ENCRYPT_MODE,
+                getKatAad(),
+                getKatPlaintext(),
+                getKatCiphertextWhenKatAadPresent(),
+                23);
+    }
+
+    public void testKatDecryptWithAadProvidedInChunks() throws Exception {
+        createCipher();
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext(),
+                1);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext(),
+                8);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext(),
+                3);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext(),
+                7);
+        assertKatTransformWithAadProvidedInChunks(
+                Cipher.DECRYPT_MODE,
+                getKatAad(),
+                getKatCiphertextWhenKatAadPresent(),
+                getKatPlaintext(),
+                23);
+    }
+
+    private void assertKatTransformWithAadProvidedInOneGo(int opmode,
+            byte[] aad, byte[] input, byte[] expectedOutput) throws Exception {
+        initKat(opmode);
+        updateAAD(aad);
+        assertEquals(expectedOutput, doFinal(input));
+
+        initKat(opmode);
+        updateAAD(aad, 0, aad.length);
+        assertEquals(expectedOutput, doFinal(input));
+
+        initKat(opmode);
+        updateAAD(ByteBuffer.wrap(aad));
+        assertEquals(expectedOutput, doFinal(input));
+    }
+
+    private void assertKatTransformWithAadProvidedInChunks(int opmode,
+            byte[] aad, byte[] input, byte[] expectedOutput, int maxChunkSize) throws Exception {
+        createCipher();
+        initKat(opmode);
+        int aadOffset = 0;
+        while (aadOffset < aad.length) {
+            int chunkSize = Math.min(aad.length - aadOffset, maxChunkSize);
+            updateAAD(aad, aadOffset, chunkSize);
+            aadOffset += chunkSize;
+        }
+        assertEquals(expectedOutput, doFinal(input));
+    }
+
+    public void testCiphertextBitflipDetectedWhenDecrypting() throws Exception {
+        createCipher();
+        Key key = importKey(getKatKey());
+        byte[] ciphertext = getKatCiphertext();
+        ciphertext[ciphertext.length / 2] ^= 0x40;
+        init(Cipher.DECRYPT_MODE, key, getKatAlgorithmParameterSpec());
+        try {
+            doFinal(ciphertext);
+            fail();
+        } catch (AEADBadTagException expected) {}
+    }
+
+    public void testAadBitflipDetectedWhenDecrypting() throws Exception {
+        createCipher();
+        Key key = importKey(getKatKey());
+        byte[] ciphertext = getKatCiphertextWhenKatAadPresent();
+        byte[] aad = getKatCiphertext();
+        aad[aad.length / 3] ^= 0x2;
+        init(Cipher.DECRYPT_MODE, key, getKatAlgorithmParameterSpec());
+        updateAAD(aad);
+        try {
+            doFinal(ciphertext);
+            fail();
+        } catch (AEADBadTagException expected) {}
+    }
+
+    public void testInitRejectsIvParameterSpec() throws Exception {
+        assertInitRejectsIvParameterSpec(getKatIv());
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
index 841bdab..5fe3505 100644
--- a/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/AndroidKeyStoreTest.java
@@ -62,7 +62,6 @@
 import javax.crypto.Cipher;
 import javax.crypto.Mac;
 import javax.crypto.SecretKey;
-import javax.crypto.spec.SecretKeySpec;
 import javax.security.auth.x500.X500Principal;
 
 public class AndroidKeyStoreTest extends AndroidTestCase {
@@ -1888,7 +1887,7 @@
                 0x00, 0x05, (byte) 0xAA, (byte) 0x0A5, (byte) 0xFF, 0x55, 0x0A
         };
 
-        SecretKey expectedSecret = new SecretKeySpec(expectedKey, "AES");
+        SecretKey expectedSecret = new TransparentSecretKey(expectedKey, "AES");
 
         byte[] wrappedExpected = c.wrap(expectedSecret);
 
@@ -2009,9 +2008,9 @@
         Signature.getInstance("NONEwithECDSA").initVerify(publicKey);
     }
 
-    private static final int MIN_SUPPORTED_KEY_COUNT = 2000;
+    private static final int MIN_SUPPORTED_KEY_COUNT = 1500;
     private static final long MINUTE_IN_MILLIS = 1000 * 60;
-    private static final long LARGE_NUMBER_OF_KEYS_TEST_MAX_DURATION_MILLIS = 3 * MINUTE_IN_MILLIS;
+    private static final long LARGE_NUMBER_OF_KEYS_TEST_MAX_DURATION_MILLIS = 2 * MINUTE_IN_MILLIS;
 
     private static boolean isDeadlineReached(long startTimeMillis, long durationMillis) {
         long nowMillis = System.currentTimeMillis();
@@ -2072,6 +2071,7 @@
                     throw new RuntimeException("Entry " + entryAlias + " import failed", e);
                 }
             }
+            Log.i(TAG, "Imported " + latestImportedEntryNumber + " keys");
             if (latestImportedEntryNumber < MIN_SUPPORTED_KEY_COUNT) {
                 fail("Failed to import " + MIN_SUPPORTED_KEY_COUNT + " keys in "
                         + (System.currentTimeMillis() - testStartTimeMillis)
@@ -2108,9 +2108,14 @@
         } finally {
             // Clean up Keystore without using KeyStore.aliases() which can't handle this many
             // entries.
+            Log.i(TAG, "Deleting imported keys");
             for (int i = 0; i <= latestImportedEntryNumber; i++) {
+                if ((i > 0) && ((i % 1000) == 0)) {
+                    Log.i(TAG, "Deleted " + i + " keys");
+                }
                 mKeyStore.deleteEntry("test" + i);
             }
+            Log.i(TAG, "Deleted " + (latestImportedEntryNumber + 1) + " keys");
         }
     }
 
@@ -2164,6 +2169,7 @@
                     throw new RuntimeException("Entry " + entryAlias + " import failed", e);
                 }
             }
+            Log.i(TAG, "Imported " + latestImportedEntryNumber + " keys");
             if (latestImportedEntryNumber < MIN_SUPPORTED_KEY_COUNT) {
                 fail("Failed to import " + MIN_SUPPORTED_KEY_COUNT + " keys in "
                         + (System.currentTimeMillis() - testStartTimeMillis)
@@ -2200,9 +2206,14 @@
         } finally {
             // Clean up Keystore without using KeyStore.aliases() which can't handle this many
             // entries.
+            Log.i(TAG, "Deleting imported keys");
             for (int i = 0; i <= latestImportedEntryNumber; i++) {
+                if ((i > 0) && ((i % 1000) == 0)) {
+                    Log.i(TAG, "Deleted " + i + " keys");
+                }
                 mKeyStore.deleteEntry("test" + i);
             }
+            Log.i(TAG, "Deleted " + (latestImportedEntryNumber + 1) + " keys");
         }
     }
 
@@ -2219,15 +2230,15 @@
 
         long testStartTimeMillis = System.currentTimeMillis();
 
-        SecretKey key1 =
-                new SecretKeySpec(HexEncoding.decode("010203040506070809fafbfcfdfeffcc"), "AES");
+        SecretKey key1 = new TransparentSecretKey(
+                HexEncoding.decode("010203040506070809fafbfcfdfeffcc"), "AES");
         String entryName1 = "test0";
 
-        SecretKey key2 =
-                new SecretKeySpec(HexEncoding.decode("808182838485868788897a7b7c7d7e7f"), "AES");
+        SecretKey key2 = new TransparentSecretKey(
+                HexEncoding.decode("808182838485868788897a7b7c7d7e7f"), "AES");
 
-        SecretKey key3 =
-                new SecretKeySpec(HexEncoding.decode("33333333333333333333777777777777"), "AES");
+        SecretKey key3 = new TransparentSecretKey(
+                HexEncoding.decode("33333333333333333333777777777777"), "AES");
 
         mKeyStore.load(null);
         int latestImportedEntryNumber = 0;
@@ -2254,6 +2265,7 @@
                     throw new RuntimeException("Entry " + entryAlias + " import failed", e);
                 }
             }
+            Log.i(TAG, "Imported " + latestImportedEntryNumber + " keys");
             if (latestImportedEntryNumber < MIN_SUPPORTED_KEY_COUNT) {
                 fail("Failed to import " + MIN_SUPPORTED_KEY_COUNT + " keys in "
                         + (System.currentTimeMillis() - testStartTimeMillis)
@@ -2285,9 +2297,14 @@
         } finally {
             // Clean up Keystore without using KeyStore.aliases() which can't handle this many
             // entries.
+            Log.i(TAG, "Deleting imported keys");
             for (int i = 0; i <= latestImportedEntryNumber; i++) {
+                if ((i > 0) && ((i % 1000) == 0)) {
+                    Log.i(TAG, "Deleted " + i + " keys");
+                }
                 mKeyStore.deleteEntry("test" + i);
             }
+            Log.i(TAG, "Deleted " + (latestImportedEntryNumber + 1) + " keys");
         }
     }
 
@@ -2304,14 +2321,14 @@
 
         long testStartTimeMillis = System.currentTimeMillis();
 
-        SecretKey key1 = new SecretKeySpec(
+        SecretKey key1 = new TransparentSecretKey(
                 HexEncoding.decode("010203040506070809fafbfcfdfeffcc"), "HmacSHA256");
         String entryName1 = "test0";
 
-        SecretKey key2 = new SecretKeySpec(
+        SecretKey key2 = new TransparentSecretKey(
                 HexEncoding.decode("808182838485868788897a7b7c7d7e7f"), "HmacSHA256");
 
-        SecretKey key3 = new SecretKeySpec(
+        SecretKey key3 = new TransparentSecretKey(
                 HexEncoding.decode("33333333333333333333777777777777"), "HmacSHA256");
 
         mKeyStore.load(null);
@@ -2337,6 +2354,7 @@
                     throw new RuntimeException("Entry " + entryAlias + " import failed", e);
                 }
             }
+            Log.i(TAG, "Imported " + latestImportedEntryNumber + " keys");
             if (latestImportedEntryNumber < MIN_SUPPORTED_KEY_COUNT) {
                 fail("Failed to import " + MIN_SUPPORTED_KEY_COUNT + " keys in "
                         + (System.currentTimeMillis() - testStartTimeMillis)
@@ -2366,9 +2384,193 @@
         } finally {
             // Clean up Keystore without using KeyStore.aliases() which can't handle this many
             // entries.
+            Log.i(TAG, "Deleting imported keys");
             for (int i = 0; i <= latestImportedEntryNumber; i++) {
+                if ((i > 0) && ((i % 1000) == 0)) {
+                    Log.i(TAG, "Deleted " + i + " keys");
+                }
                 mKeyStore.deleteEntry("test" + i);
             }
+            Log.i(TAG, "Deleted " + (latestImportedEntryNumber + 1) + " keys");
+        }
+    }
+
+    public void testKeyStore_OnlyOneDigestCanBeAuthorized_HMAC() throws Exception {
+        mKeyStore.load(null);
+
+        for (String algorithm : KeyGeneratorTest.EXPECTED_ALGORITHMS) {
+            if (!TestUtils.isHmacAlgorithm(algorithm)) {
+                continue;
+            }
+            try {
+                String digest = TestUtils.getHmacAlgorithmDigest(algorithm);
+                assertNotNull(digest);
+                SecretKey keyBeingImported = new TransparentSecretKey(new byte[16], algorithm);
+
+                KeyProtection.Builder goodSpec =
+                        new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN);
+
+                // Digests authorization not specified in import parameters
+                assertFalse(goodSpec.build().isDigestsSpecified());
+                mKeyStore.setEntry(TEST_ALIAS_1,
+                        new KeyStore.SecretKeyEntry(keyBeingImported),
+                        goodSpec.build());
+                SecretKey key = (SecretKey) mKeyStore.getKey(TEST_ALIAS_1, null);
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(TestUtils.getKeyInfo(key).getDigests()), digest);
+
+                // The same digest is specified in import parameters
+                mKeyStore.setEntry(TEST_ALIAS_1,
+                        new KeyStore.SecretKeyEntry(keyBeingImported),
+                        TestUtils.buildUpon(goodSpec).setDigests(digest).build());
+                key = (SecretKey) mKeyStore.getKey(TEST_ALIAS_1, null);
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(TestUtils.getKeyInfo(key).getDigests()), digest);
+
+                // Empty set of digests specified in import parameters
+                try {
+                    mKeyStore.setEntry(TEST_ALIAS_1,
+                            new KeyStore.SecretKeyEntry(keyBeingImported),
+                            TestUtils.buildUpon(goodSpec).setDigests().build());
+                    fail();
+                } catch (KeyStoreException expected) {}
+
+                // A different digest specified in import parameters
+                String anotherDigest = "SHA-256".equalsIgnoreCase(digest) ? "SHA-384" : "SHA-256";
+                try {
+                    mKeyStore.setEntry(TEST_ALIAS_1,
+                            new KeyStore.SecretKeyEntry(keyBeingImported),
+                            TestUtils.buildUpon(goodSpec).setDigests(anotherDigest).build());
+                    fail();
+                } catch (KeyStoreException expected) {}
+                try {
+                    mKeyStore.setEntry(TEST_ALIAS_1,
+                            new KeyStore.SecretKeyEntry(keyBeingImported),
+                            TestUtils.buildUpon(goodSpec)
+                                    .setDigests(digest, anotherDigest)
+                                    .build());
+                    fail();
+                } catch (KeyStoreException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testKeyStore_ImportSupportedSizes_AES() throws Exception {
+        mKeyStore.load(null);
+
+        KeyProtection params = new KeyProtection.Builder(
+                KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT)
+                .build();
+        String alias = "test1";
+        mKeyStore.deleteEntry(alias);
+        assertFalse(mKeyStore.containsAlias(alias));
+        for (int keySizeBytes = 0; keySizeBytes <= 512 / 8; keySizeBytes++) {
+            int keySizeBits = keySizeBytes * 8;
+            try {
+                KeyStore.SecretKeyEntry entry = new KeyStore.SecretKeyEntry(
+                        new TransparentSecretKey(new byte[keySizeBytes], "AES"));
+                if (TestUtils.contains(KeyGeneratorTest.AES_SUPPORTED_KEY_SIZES, keySizeBits)) {
+                    mKeyStore.setEntry(alias, entry, params);
+                    SecretKey key = (SecretKey) mKeyStore.getKey(alias, null);
+                    assertEquals("AES", key.getAlgorithm());
+                    assertEquals(keySizeBits, TestUtils.getKeyInfo(key).getKeySize());
+                } else {
+                    mKeyStore.deleteEntry(alias);
+                    assertFalse(mKeyStore.containsAlias(alias));
+                    try {
+                        mKeyStore.setEntry(alias, entry, params);
+                        fail();
+                    } catch (KeyStoreException expected) {}
+                    assertFalse(mKeyStore.containsAlias(alias));
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key size " + keySizeBits, e);
+            }
+        }
+    }
+
+    public void testKeyStore_ImportSupportedSizes_HMAC() throws Exception {
+        mKeyStore.load(null);
+
+        KeyProtection params = new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN).build();
+        String alias = "test1";
+        mKeyStore.deleteEntry(alias);
+        assertFalse(mKeyStore.containsAlias(alias));
+        for (String algorithm : KeyGeneratorTest.EXPECTED_ALGORITHMS) {
+            if (!TestUtils.isHmacAlgorithm(algorithm)) {
+                continue;
+            }
+            for (int keySizeBytes = 0; keySizeBytes <= 1024 / 8; keySizeBytes++) {
+                try {
+                    KeyStore.SecretKeyEntry entry = new KeyStore.SecretKeyEntry(
+                            new TransparentSecretKey(new byte[keySizeBytes], algorithm));
+                    if (keySizeBytes > 0) {
+                        mKeyStore.setEntry(alias, entry, params);
+                        SecretKey key = (SecretKey) mKeyStore.getKey(alias, null);
+                        assertEquals(algorithm, key.getAlgorithm());
+                        assertEquals(keySizeBytes * 8, TestUtils.getKeyInfo(key).getKeySize());
+                    } else {
+                        mKeyStore.deleteEntry(alias);
+                        assertFalse(mKeyStore.containsAlias(alias));
+                        try {
+                            mKeyStore.setEntry(alias, entry, params);
+                            fail();
+                        } catch (KeyStoreException expected) {}
+                    }
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key size " + (keySizeBytes * 8), e);
+                }
+            }
+        }
+    }
+
+    public void testKeyStore_ImportSupportedSizes_EC() throws Exception {
+        mKeyStore.load(null);
+        KeyProtection params =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith("SHA256withECDSA");
+        checkKeyPairImportSucceeds(
+                "secp224r1", R.raw.ec_key3_secp224r1_pkcs8, R.raw.ec_key3_secp224r1_cert, params);
+        checkKeyPairImportSucceeds(
+                "secp256r1", R.raw.ec_key4_secp256r1_pkcs8, R.raw.ec_key4_secp256r1_cert, params);
+        checkKeyPairImportSucceeds(
+                "secp384r1", R.raw.ec_key5_secp384r1_pkcs8, R.raw.ec_key5_secp384r1_cert, params);
+        checkKeyPairImportSucceeds(
+                "secp512r1", R.raw.ec_key6_secp521r1_pkcs8, R.raw.ec_key6_secp521r1_cert, params);
+    }
+
+    public void testKeyStore_ImportSupportedSizes_RSA() throws Exception {
+        mKeyStore.load(null);
+        KeyProtection params =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith("SHA256withRSA");
+        checkKeyPairImportSucceeds(
+                "512", R.raw.rsa_key5_512_pkcs8, R.raw.rsa_key5_512_cert, params);
+        checkKeyPairImportSucceeds(
+                "768", R.raw.rsa_key6_768_pkcs8, R.raw.rsa_key6_768_cert, params);
+        checkKeyPairImportSucceeds(
+                "1024", R.raw.rsa_key3_1024_pkcs8, R.raw.rsa_key3_1024_cert, params);
+        checkKeyPairImportSucceeds(
+                "2048", R.raw.rsa_key8_2048_pkcs8, R.raw.rsa_key8_2048_cert, params);
+        checkKeyPairImportSucceeds(
+                "3072", R.raw.rsa_key7_3072_pksc8, R.raw.rsa_key7_3072_cert, params);
+        checkKeyPairImportSucceeds(
+                "4096", R.raw.rsa_key4_4096_pkcs8, R.raw.rsa_key4_4096_cert, params);
+    }
+
+    private void checkKeyPairImportSucceeds(
+            String alias, int privateResId, int certResId, KeyProtection params) throws Exception {
+        try {
+            mKeyStore.deleteEntry(alias);
+            TestUtils.importIntoAndroidKeyStore(
+                    alias, getContext(), privateResId, certResId, params);
+        } catch (Throwable e) {
+            throw new RuntimeException("Failed for " + alias, e);
+        } finally {
+            try {
+                mKeyStore.deleteEntry(alias);
+            } catch (Exception ignored) {}
         }
     }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java b/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java
index 398d373..197adc2 100644
--- a/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java
+++ b/tests/tests/keystore/src/android/keystore/cts/BlockCipherTestBase.java
@@ -45,6 +45,7 @@
 import javax.crypto.NoSuchPaddingException;
 import javax.crypto.SecretKey;
 import javax.crypto.ShortBufferException;
+import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
 
 abstract class BlockCipherTestBase extends AndroidTestCase {
@@ -211,7 +212,6 @@
                     // cause an error. Thus, there's no need to account for its ciphertext.
                 }
                 int actualOutputSize = mCipher.getOutputSize(input);
-                System.out.println("*** buffered: " + buffered + ", input: " + input + ", min: " + minExpectedOutputSize + ", actual: " + actualOutputSize);
                 if (actualOutputSize < minExpectedOutputSize) {
                     fail("getOutputSize(" + input + ") underestimated output size when buffered == "
                             + buffered + ". min expected: <"
@@ -289,7 +289,6 @@
                     minExpectedOutputSize = 0;
                 }
                 int actualOutputSize = mCipher.getOutputSize(input);
-                System.out.println("*** buffered: " + buffered + ", input: " + input + ", min: " + minExpectedOutputSize + ", actual: " + actualOutputSize);
                 if (actualOutputSize < minExpectedOutputSize) {
                     fail("getOutputSize(" + input + ") underestimated output size when buffered == "
                             + buffered + ". min expected: <"
@@ -828,21 +827,33 @@
     }
 
     public void testUpdateAADNotSupported() throws Exception {
-        createCipher();
-        initKat(Cipher.ENCRYPT_MODE);
         if (isAuthenticatedCipher()) {
-            assertUpdateAADSupported();
-        } else {
-            assertUpdateAADNotSupported();
+            // Not applicable to authenticated ciphers where updateAAD is supported.
+            return;
         }
 
         createCipher();
+        initKat(Cipher.ENCRYPT_MODE);
+        assertUpdateAADNotSupported();
+
+        createCipher();
         initKat(Cipher.DECRYPT_MODE);
-        if (isAuthenticatedCipher()) {
-            assertUpdateAADSupported();
-        } else {
-            assertUpdateAADNotSupported();
+        assertUpdateAADNotSupported();
+    }
+
+    public void testUpdateAADSupported() throws Exception {
+        if (!isAuthenticatedCipher()) {
+            // Not applicable to unauthenticated ciphers where updateAAD is not supported.
+            return;
         }
+
+        createCipher();
+        initKat(Cipher.ENCRYPT_MODE);
+        assertUpdateAADSupported();
+
+        createCipher();
+        initKat(Cipher.DECRYPT_MODE);
+        assertUpdateAADSupported();
     }
 
     private void assertUpdateAADNotSupported() throws Exception {
@@ -1235,7 +1246,7 @@
                 subarray(buffer, outputOffsetInBuffer, outputEndIndexInBuffer));
     }
 
-    private void createCipher() throws NoSuchAlgorithmException,
+    protected void createCipher() throws NoSuchAlgorithmException,
             NoSuchPaddingException  {
         mCipher = Cipher.getInstance(getTransformation());
     }
@@ -1279,7 +1290,7 @@
         return importKey(getKatKey());
     }
 
-    private SecretKey importKey(byte[] keyMaterial) {
+    protected SecretKey importKey(byte[] keyMaterial) {
         try {
             int keyId = mNextKeyId++;
             String keyAlias = "key" + keyId;
@@ -1318,75 +1329,75 @@
         }
     }
 
-    private void initKat(int opmode)
+    protected void initKat(int opmode)
             throws InvalidKeyException, InvalidAlgorithmParameterException {
         init(opmode, getKey(), getKatAlgorithmParameterSpec());
     }
 
-    private void init(int opmode, Key key, AlgorithmParameters spec)
+    protected void init(int opmode, Key key, AlgorithmParameters spec)
             throws InvalidKeyException, InvalidAlgorithmParameterException {
         mCipher.init(opmode, key, spec);
         mOpmode = opmode;
     }
 
-    private void init(int opmode, Key key, AlgorithmParameters spec, SecureRandom random)
+    protected void init(int opmode, Key key, AlgorithmParameters spec, SecureRandom random)
             throws InvalidKeyException, InvalidAlgorithmParameterException {
         mCipher.init(opmode, key, spec, random);
         mOpmode = opmode;
     }
 
-    private void init(int opmode, Key key, AlgorithmParameterSpec spec)
+    protected void init(int opmode, Key key, AlgorithmParameterSpec spec)
             throws InvalidKeyException, InvalidAlgorithmParameterException {
         mCipher.init(opmode, key, spec);
         mOpmode = opmode;
     }
 
-    private void init(int opmode, Key key, AlgorithmParameterSpec spec, SecureRandom random)
+    protected void init(int opmode, Key key, AlgorithmParameterSpec spec, SecureRandom random)
             throws InvalidKeyException, InvalidAlgorithmParameterException {
         mCipher.init(opmode, key, spec, random);
         mOpmode = opmode;
     }
 
-    private void init(int opmode, Key key) throws InvalidKeyException {
+    protected void init(int opmode, Key key) throws InvalidKeyException {
         mCipher.init(opmode, key);
         mOpmode = opmode;
     }
 
-    private void init(int opmode, Key key, SecureRandom random) throws InvalidKeyException {
+    protected void init(int opmode, Key key, SecureRandom random) throws InvalidKeyException {
         mCipher.init(opmode, key, random);
         mOpmode = opmode;
     }
 
-    private byte[] doFinal() throws IllegalBlockSizeException, BadPaddingException {
+    protected byte[] doFinal() throws IllegalBlockSizeException, BadPaddingException {
         return mCipher.doFinal();
     }
 
-    private byte[] doFinal(byte[] input) throws IllegalBlockSizeException, BadPaddingException {
+    protected byte[] doFinal(byte[] input) throws IllegalBlockSizeException, BadPaddingException {
         return mCipher.doFinal(input);
     }
 
-    private byte[] doFinal(byte[] input, int inputOffset, int inputLen)
+    protected byte[] doFinal(byte[] input, int inputOffset, int inputLen)
             throws IllegalBlockSizeException, BadPaddingException {
         return mCipher.doFinal(input, inputOffset, inputLen);
     }
 
-    private int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output)
+    protected int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output)
             throws ShortBufferException, IllegalBlockSizeException, BadPaddingException {
         return mCipher.doFinal(input, inputOffset, inputLen, output);
     }
 
-    private int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output,
+    protected int doFinal(byte[] input, int inputOffset, int inputLen, byte[] output,
             int outputOffset) throws ShortBufferException, IllegalBlockSizeException,
             BadPaddingException {
         return mCipher.doFinal(input, inputOffset, inputLen, output, outputOffset);
     }
 
-    private int doFinal(byte[] output, int outputOffset) throws IllegalBlockSizeException,
+    protected int doFinal(byte[] output, int outputOffset) throws IllegalBlockSizeException,
             ShortBufferException, BadPaddingException {
         return mCipher.doFinal(output, outputOffset);
     }
 
-    private int doFinal(ByteBuffer input, ByteBuffer output) throws ShortBufferException,
+    protected int doFinal(ByteBuffer input, ByteBuffer output) throws ShortBufferException,
             IllegalBlockSizeException, BadPaddingException {
         return mCipher.doFinal(input, output);
     }
@@ -1415,21 +1426,21 @@
         }
     }
 
-    private byte[] update(byte[] input) {
+    protected byte[] update(byte[] input) {
         byte[] output = mCipher.update(input);
         assertUpdateOutputSize(
                 (input != null) ? input.length : 0, (output != null) ? output.length : 0);
         return output;
     }
 
-    private byte[] update(byte[] input, int offset, int len) {
+    protected byte[] update(byte[] input, int offset, int len) {
         byte[] output = mCipher.update(input, offset, len);
         assertUpdateOutputSize(len, (output != null) ? output.length : 0);
 
         return output;
     }
 
-    private int update(byte[] input, int offset, int len, byte[] output)
+    protected int update(byte[] input, int offset, int len, byte[] output)
             throws ShortBufferException {
         int outputLen = mCipher.update(input, offset, len, output);
         assertUpdateOutputSize(len, outputLen);
@@ -1437,7 +1448,7 @@
         return outputLen;
     }
 
-    private int update(byte[] input, int offset, int len, byte[] output, int outputOffset)
+    protected int update(byte[] input, int offset, int len, byte[] output, int outputOffset)
             throws ShortBufferException {
         int outputLen = mCipher.update(input, offset, len, output, outputOffset);
         assertUpdateOutputSize(len, outputLen);
@@ -1445,7 +1456,7 @@
         return outputLen;
     }
 
-    private int update(ByteBuffer input, ByteBuffer output) throws ShortBufferException {
+    protected int update(ByteBuffer input, ByteBuffer output) throws ShortBufferException {
         int inputLimitBefore = input.limit();
         int outputLimitBefore = output.limit();
         int inputLen = input.remaining();
@@ -1463,8 +1474,20 @@
         return outputLen;
     }
 
+    protected void updateAAD(byte[] input) {
+        mCipher.updateAAD(input);
+    }
+
+    protected void updateAAD(byte[] input, int offset, int len) {
+        mCipher.updateAAD(input, offset, len);
+    }
+
+    protected void updateAAD(ByteBuffer input) {
+        mCipher.updateAAD(input);
+    }
+
     @SuppressWarnings("unused")
-    private static void assertEquals(Buffer expected, Buffer actual) {
+    protected static void assertEquals(Buffer expected, Buffer actual) {
         throw new RuntimeException(
                 "Comparing ByteBuffers using their .equals is probably not what you want"
                 + " -- use assertByteBufferEquals instead.");
@@ -1474,7 +1497,7 @@
      * Asserts that the position, limit, and capacity of the provided buffers are the same, and that
      * their contents (from position {@code 0} to capacity) are the same.
      */
-    private static void assertByteBufferEquals(ByteBuffer expected, ByteBuffer actual) {
+    protected static void assertByteBufferEquals(ByteBuffer expected, ByteBuffer actual) {
         if (expected == null) {
             if (actual == null) {
                 return;
@@ -1504,7 +1527,7 @@
                         buffer.array(), buffer.arrayOffset(), buffer.capacity()) + "]";
     }
 
-    private static boolean equals(byte[] arr1, int offset1, int len1, byte[] arr2, int offset2,
+    protected static boolean equals(byte[] arr1, int offset1, int len1, byte[] arr2, int offset2,
             int len2) {
         if (arr1 == null) {
             return (arr2 == null);
@@ -1523,13 +1546,13 @@
         }
     }
 
-    private static byte[] subarray(byte[] array, int beginIndex, int endIndex) {
+    protected static byte[] subarray(byte[] array, int beginIndex, int endIndex) {
         byte[] result = new byte[endIndex - beginIndex];
         System.arraycopy(array, beginIndex, result, 0, result.length);
         return result;
     }
 
-    private static byte[] concat(byte[]... arrays) {
+    protected static byte[] concat(byte[]... arrays) {
         int resultLength = 0;
         for (byte[] array : arrays) {
             resultLength += (array != null) ? array.length : 0;
@@ -1546,11 +1569,11 @@
         return result;
     }
 
-    private static void assertEquals(byte[] expected, byte[] actual) {
+    protected static void assertEquals(byte[] expected, byte[] actual) {
         assertEquals(null, expected, actual);
     }
 
-    private static void assertEquals(String message, byte[] expected, byte[] actual) {
+    protected static void assertEquals(String message, byte[] expected, byte[] actual) {
         if (!Arrays.equals(expected, actual)) {
             StringBuilder detail = new StringBuilder();
             if (expected != null) {
@@ -1572,4 +1595,51 @@
             }
         }
     }
+
+    protected final void assertInitRejectsIvParameterSpec(byte[] iv) throws Exception {
+        Key key = importKey(getKatKey());
+        createCipher();
+        IvParameterSpec spec = new IvParameterSpec(iv);
+        try {
+            init(Cipher.ENCRYPT_MODE, key, spec);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.WRAP_MODE, key, spec);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.DECRYPT_MODE, key, spec);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.UNWRAP_MODE, key, spec);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        AlgorithmParameters param = AlgorithmParameters.getInstance("AES");
+        param.init(new IvParameterSpec(iv));
+        try {
+            init(Cipher.ENCRYPT_MODE, key, param);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.WRAP_MODE, key, param);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.DECRYPT_MODE, key, param);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+
+        try {
+            init(Cipher.UNWRAP_MODE, key, param);
+            fail();
+        } catch (InvalidAlgorithmParameterException expected) {}
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/CipherTest.java b/tests/tests/keystore/src/android/keystore/cts/CipherTest.java
new file mode 100644
index 0000000..e2c1d69
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/CipherTest.java
@@ -0,0 +1,1550 @@
+/*
+ * Copyright 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.keystore.KeyProperties;
+import android.security.keystore.KeyProtection;
+import android.test.AndroidTestCase;
+import android.test.MoreAsserts;
+
+import com.android.cts.keystore.R;
+
+import java.security.AlgorithmParameters;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.Provider;
+import java.security.Security;
+import java.security.Signature;
+import java.security.SignatureException;
+import java.security.spec.AlgorithmParameterSpec;
+import java.security.spec.MGF1ParameterSpec;
+import java.security.Provider.Service;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.spec.GCMParameterSpec;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.OAEPParameterSpec;
+import javax.crypto.spec.PSource;
+import javax.crypto.spec.SecretKeySpec;
+
+/**
+ * Tests for algorithm-agnostic functionality of {@code Cipher} implementations backed by Android
+ * Keystore.
+ */
+public class CipherTest extends AndroidTestCase {
+
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_CRYPTO_OP_PROVIDER_NAME;
+
+    private static final String[] EXPECTED_ALGORITHMS = {
+        "AES/ECB/NoPadding",
+        "AES/ECB/PKCS7Padding",
+        "AES/CBC/NoPadding",
+        "AES/CBC/PKCS7Padding",
+        "AES/CTR/NoPadding",
+        "AES/GCM/NoPadding",
+        "RSA/ECB/NoPadding",
+        "RSA/ECB/PKCS1Padding",
+        "RSA/ECB/OAEPPadding",
+        "RSA/ECB/OAEPWithSHA-1AndMGF1Padding",
+        "RSA/ECB/OAEPWithSHA-224AndMGF1Padding",
+        "RSA/ECB/OAEPWithSHA-256AndMGF1Padding",
+        "RSA/ECB/OAEPWithSHA-384AndMGF1Padding",
+        "RSA/ECB/OAEPWithSHA-512AndMGF1Padding",
+    };
+
+    private static class KatVector {
+        private final byte[] plaintext;
+        private final byte[] ciphertext;
+        private final AlgorithmParameterSpec params;
+
+        private KatVector(String plaintextHex, String ciphertextHex) {
+            this(plaintextHex, null, ciphertextHex);
+        }
+
+        private KatVector(String plaintextHex, AlgorithmParameterSpec params,
+                String ciphertextHex) {
+            this(HexEncoding.decode(plaintextHex), params, HexEncoding.decode(ciphertextHex));
+        }
+
+        private KatVector(byte[] plaintext, byte[] ciphertext) {
+            this(plaintext, null, ciphertext);
+        }
+
+        private KatVector(byte[] plaintext, AlgorithmParameterSpec params, byte[] ciphertext) {
+            this.plaintext = plaintext;
+            this.ciphertext = ciphertext;
+            this.params = params;
+        }
+    }
+    private static final Map<String, KatVector> KAT_VECTORS =
+            new TreeMap<String, KatVector>(String.CASE_INSENSITIVE_ORDER);
+    static {
+        // From RI
+        KAT_VECTORS.put("AES/ECB/NoPadding", new KatVector(
+                "0383911bb1519d58e6656f3fd35639c502dbeb2196cea937fca272666cb4a80b",
+                "6574c5065283b89e0c930019e4655d8516b98170db6516cd83e589bd9c5e5adc"));
+        KAT_VECTORS.put("AES/ECB/PKCS7Padding", new KatVector(
+                "1ad3d73a3cfa66dac78a51a95c2cb2125ea701e6e9ecbca2415b436f0258e2ba7439b67545",
+                "920f873f2f9e91bac4c9c948d66496a21b8b2606850490dac7abecae83317488ee550b9973ac5cd142"
+                + "f387d7d2a12752"));
+        KAT_VECTORS.put("AES/CBC/NoPadding", new KatVector(
+                "1dffe21c8f18276c3a39ed0c53ab257b84efcedab60095c4cadd131143058cf7",
+                new IvParameterSpec(HexEncoding.decode("10b3eea6cc8a7d6f48337e9b6987d28c")),
+                "47ab115bfadca91eaebec73ab942a06f3121fdd5aa55d223bd2cbcc3855e1ef8"));
+        KAT_VECTORS.put("AES/CBC/PKCS7Padding", new KatVector(
+                "9d49fb970b23bfe742ae7c45a773ada9faad84708c8858a06e4a192e0a90e2f6083548e0bf3f67",
+                new IvParameterSpec(HexEncoding.decode("ecd87bf9c49f37dcd2294e309192289a")),
+                "aeb64f48ec18a086eda7ee080948651a50b6f582ab54aac5454c9ab0a4de5b4a4abac526a4307011d1"
+                + "2881f1849c32ae"));
+        KAT_VECTORS.put("AES/CTR/NoPadding", new KatVector(
+                "b4e786cab9df48d2fce0c7872651314db1318d1f31a1b10a2c334d2555b4117668",
+                new IvParameterSpec(HexEncoding.decode("94d9f7a6d16f58018819b668020b68cc")),
+                "022e74572a70be57a0b65b2fb5bc9b803ce48973b6163f528bbe1fd001e29d330a"));
+        KAT_VECTORS.put("AES/GCM/NoPadding", new KatVector(
+                "03889a6ca811e3fd7e78467e3dae587d2110e80e98edbc9dfe17afba238c4c493186",
+                new GCMParameterSpec(128, HexEncoding.decode("f67aaf97cdec65b12188315e")),
+                "159eb1ffc86589b38f18097c32db646c7de3525b603876c3ae671bc2ca52a5395a374b377a915c9ed1"
+                + "a349abf9fc54c9ca81"));
+        KAT_VECTORS.put("RSA/ECB/NoPadding", new KatVector(
+                "50c499d558c38fd48ea76832887db2abc76e4e153a98fd4323ccb8006d34f11724a5692fb101b0eb96"
+                + "060eb9d15222",
+                "349b1d5061e98d0ab3f2327680bbc0cbb1b8ef8ee26148d7c67cf535223e3f78d822d369592ede29b1"
+                + "654aab25e6ae5e098318e55c13dc405f5ba27e5cc69ced32778592a51e6293a03f95e14ed17099fb"
+                + "0ac585e41297b87c3432953df0d98be7e505dc7de7bfe9d9ec750f475afeba4cc2dd78838c0d4399"
+                + "d8de02b07f00b292dc3d32d2a2f98ea5a5dac1a0fec4d01e5c3aea8c56eeff264896fb6cf2144401"
+                + "278c6663417bc00aafbb9eb97c056573cdec88d6ac6fd6c333d131337b16031da229029e3b6fe6f8"
+                + "ee427f2e90041e9636d67cddac75845914ce4be56092eed7188fe7e2bb33769efdeed86a7acbe15d"
+                + "debf92d9fbaaddede206acfa650697"));
+        KAT_VECTORS.put("RSA/ECB/PKCS1Padding", new KatVector(
+                "aed8cd94f35b2a54cdd3ed771482bd87e256b995408558fb82e5d475d1ee54711472f899ad6cbb6847"
+                + "99e52ff1d57cbc39f4",
+                "64148dee294dd3ea31d2b595ea661318cf90c89f71393cf6559087d6e8993e73eb1e6b5f4d3cfde3cb"
+                + "267938c5eca522b95a2df02df9c703dbe3103c157af0d2ed5b70da51cb4caa49061319420d0ea433"
+                + "f24b727530c162226bc806b7f39079cd494a5c8a242737413d27063f9fb74aadd20f521211316719"
+                + "c628fd4351d0608928949b6f59f351d9ccec4c596514335010834fcabd53a2cbb2642e0f83c4f89c"
+                + "199ee2c68ace9182cf484d99e86b0b2213c1cc113d24891958e5a0774b7486abae1475e46a939a94"
+                + "5d6491b98ad7979fd6e752b47e43e960557a0c0589d7d0444b011d75c9f5b143da6e1dcf7b678a2e"
+                + "f82fbe37a74df3e20fb1a9dbfd5978"));
+        KAT_VECTORS.put("RSA/ECB/OAEPPadding", new KatVector(
+                "c219f4e3e37eae2315f0fa4ebc4b46ef0c6befbb43a51ceda07435fc88a9",
+                "7a9bcfd0d02b6434025bbf5ba09c2dad118a4a3bca7cced8b404bc0fc2f17ddee13de82c8324294bf2"
+                + "60ad6e5171c2c3728a0c0fab20dd60e4e56cfef3e66239439ed2eddcc83ac8eeaedfd970e9966de3"
+                + "94ad1df0df503a0a640a49e10885b3a4115c3e94e893fff87bf9a5808350f957d6bc556ca6b08f81"
+                + "bf697704a3eb3db774797f883af0dcdc9bd9196d7595bab5e87d3187eb45b5771abe4e4dc70c25fa"
+                + "b9e3cddb6ae453a1d8e517d000779472e1376e5848b1654a51a9e90be4a4a6d0f6b8723c6e93c471"
+                + "313ea94f24504ca377b502057331355965a7e0b9c3b1d1fbd24ab5a4167f721d1ddac4d3c094d5c9"
+                + "0d2e277e9b5617cbf2770186323e89"));
+        KAT_VECTORS.put("RSA/ECB/OAEPWithSHA-1AndMGF1Padding", new KatVector(
+                "bb2854620bb0e361d1384703dda12acee1fefc22024bcfc40a86390d5342c693aab8c7ed6517d8da86"
+                + "04492c9d",
+                "77033c578f24ef0ed93bfe6dc6f7c3f9f0505e7562f67ce987a269cabaa8a3ae7dd5e567a8b37db42d"
+                + "a79aa86ea2e189af5b9560b39407ff86f2785cdaf660fc7c93649bc24a818de564cb0d03e7681fa8"
+                + "f3cd42b3bfc58c49d3f049e0c98b07aff95876f05ddc45ebaa7127a198f27ae0cfd161c5598ac795"
+                + "8ed386d98b13d45730e6dc16313fe012af27d7be0e45215040bbfb07f2d35e34291fe4335a68175a"
+                + "46be99a15c1ccf673659157e1f52105de5a0a6f8c9d946740216eefe2a01a37b0ab144a44ff0d800"
+                + "be713b5b44acf4fcb1a60d5db977af4d77fa77bdb8594032b2f5bbdd49346b08e0e98ab1051b462e"
+                + "160c1bff62b927cd26c936948b723a"));
+        KAT_VECTORS.put("RSA/ECB/OAEPWithSHA-224AndMGF1Padding", new KatVector(
+                "1bae19434be6599d1987b1ed866dd6b684dcd908bd98d797250be545eafea46d05ebdf9018",
+                "0f18b4a1153c6f8821e18a4275e4b570d540c8ad86bfc99146e5475238a43ecbe63bc81368cd64b9a2"
+                + "ab3ccd586e6afaad054c9d7bdc986adf022ec86335d110c53ebd5f2f2bd49d48d6da9541312c9b1b"
+                + "cc299ca4f59475869e4ec2253c91b137eae274a245fc9ee6262f74754bbda55d8bd25bfa4c1698f3"
+                + "a22d2d8d7fc6e9fbb56d828e61912b3085d82cceaeb1d2da425871575e7ba31a3d47b1b7d7df0bda"
+                + "81d62c75a9887bbc528fc6bb51db09884bb513b4cc94ca4a5fe0b370ca548dcdf60eebbf61e7efe7"
+                + "630fc47256d6d617fc1c2c774405f385650898abea03502cfbdcb53579fd18d896490e67aecdb7c7"
+                + "b7b950dc7ddba5c64188494c1a177b"));
+        KAT_VECTORS.put("RSA/ECB/OAEPWithSHA-256AndMGF1Padding", new KatVector(
+                "332c2f2fc066fb29ec0928a52b5111ce6965546ce73927340c42d33b56b6ba547b77ac361ac0d13316"
+                + "345ca953840023d892fa4ff1aa32cc66d5aa88b79867",
+                "942c0ba1c67a34a7e116d9281b1df5084c66bc1458faf1b26d4f0f63a57307a9addcd3e5d2f3320071"
+                + "5a3d95ae84fb40a8dfe4cb0a28873fd5883ff8ee6efbfe38c460c755577b34fcf05bb2077afec7b2"
+                + "203799022be6a0903915e01e94abc51efe9c5548eb86bbbb4fd7f3bfc7b86f388128b6df1e6ce651"
+                + "230c6bc18bbf55b029f1e31da880c27d947ff97519df66a57ead6db791c4978f1d62edec0d89bb16"
+                + "83d237213f3f24271ddb8c4b50a82527954f0e49ae44d3acd8ddd3a57cfbfa456dd40675d5d75542"
+                + "31c6b79c7fb3500b1631be1d100e67d85ce423845fdc7c7f45e346a8ba573f5d11de9009069468dd"
+                + "8d517ad4adb1509dd5173ee1862d74"));
+        KAT_VECTORS.put("RSA/ECB/OAEPWithSHA-384AndMGF1Padding", new KatVector(
+                "f51f158cbad4dbab38403b839c724f09a480c49be29c0e72615539dbe57ec86143f31f19392f419b5b"
+                + "e4ba9e3c6f1e870d307a7cf1a9e2",
+                "944243f35f534e7a273e94986b6835a4f5cdc5bc4efb9970d4760986599a02f652a848fcae333ff25a"
+                + "64108c9b900aaf002688398ad9fc17c73be52726306af9c13540df9d1765336b6f09ba4cb8a54d72"
+                + "5a4e45854bfa3802cfb110a6d7f7054e6072440ec00da62828cb75fe2566ec5be79eb8a3d1fbe2c2"
+                + "4439c107e5018e445e201ad80725755543c00dec50bb464c6ca897600eb3cda51fcef8161ac13d75"
+                + "a3eb30d385a1e718a61ae1b5d47aadb966fc007becc84db397d0b3cd983121872f9975995153e869"
+                + "9e24554a3c5e885f0ed8cd03e916da5ed541f1598da9bd6209447301d00f086153da353deff9d045"
+                + "8976ff7570410f0bdcfb3f56b782f5"));
+        KAT_VECTORS.put("RSA/ECB/OAEPWithSHA-512AndMGF1Padding", new KatVector(
+                "d45f6ccc7e663957f234c237c1f09bf7791f6f5c1b9ef4fefb16e55ded0d96112e590f1bb08a60f85c"
+                + "2d0d2533f1d69792dfd8d647d880b18f87cfe32488c73613a3d535da7d776d90d9a4ba6a0311f456"
+                + "8511da49107c",
+                "5a037df3e5d6f3f703541e2db2aef7c69985e513bdff67c8ade6a09f50e27267bfb444f6c69b40a77a"
+                + "9136a27b29876af9d2bf4e7099863445d35b188d31f376b89fbd196059667ca657e10b9454c2b25f"
+                + "046fc9f7b42506e382e6b6fd99409cf97e865e65f8dce5d14a06b8aa8833c4bc72c8764467758f2d"
+                + "7960243161dce4ca8231e91bfcd3c933a80bc703ceab976224c876b1f550f91a6c2a0332d4377bd8"
+                + "dfe4b1283ab114e517b7b9e4a6e0bf166d5b506e7a3b7328078e12cb23b1d938760767dc9b3c3eb0"
+                + "848ddda101792aca9273ad414314c13fc511ffa0358a8f4c5f38edded3a2dc111fa62c80e6032c32"
+                + "ae04aeac7729f16a6310f1f6785c27"));
+    }
+
+    private static final long DAY_IN_MILLIS = TestUtils.DAY_IN_MILLIS;
+
+    private static final byte[] AES128_KAT_KEY_BYTES =
+            HexEncoding.decode("7d9f11a0da111e9d8bdd14f04648ed91");
+
+    private static final byte[] AES192_KAT_KEY_BYTES =
+            HexEncoding.decode("69ef2c44a48d3dc4d5744a281f7ebb5ca976c2202f91e10c");
+
+    private static final byte[] AES256_KAT_KEY_BYTES =
+            HexEncoding.decode("cf601cc10aaf434d1f01747136aff222af7fb426d101901712214c3fea18125f");
+
+    public void testAlgorithmList() {
+        // Assert that Android Keystore Provider exposes exactly the expected Cipher
+        // transformations. We don't care whether the transformations are exposed via aliases, as
+        // long as canonical names of transformation are accepted.
+        // If the Provider exposes extraneous algorithms, it'll be caught because it'll have to
+        // expose at least one Service for such an algorithm, and this Service's algorithm will
+        // not be in the expected set.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        Set<Service> services = provider.getServices();
+        Set<String> actualAlgsLowerCase = new HashSet<String>();
+        Set<String> expectedAlgsLowerCase = new HashSet<String>(
+                Arrays.asList(TestUtils.toLowerCase(EXPECTED_ALGORITHMS)));
+        for (Service service : services) {
+            if ("Cipher".equalsIgnoreCase(service.getType())) {
+                String algLowerCase = service.getAlgorithm().toLowerCase(Locale.US);
+                actualAlgsLowerCase.add(algLowerCase);
+            }
+        }
+
+        TestUtils.assertContentsInAnyOrder(actualAlgsLowerCase,
+                expectedAlgsLowerCase.toArray(new String[0]));
+    }
+
+    public void testAndroidKeyStoreKeysHandledByAndroidKeyStoreProviderWhenDecrypting()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                ImportedKey key = importDefaultKatKey(
+                        algorithm,
+                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                        false);
+
+                // Decryption may need additional parameters. Initializing a Cipher for encryption
+                // forces it to generate any such parameters.
+                Cipher cipher = Cipher.getInstance(algorithm, provider);
+                cipher.init(Cipher.ENCRYPT_MODE, key.getKeystoreBackedEncryptionKey());
+                AlgorithmParameters params = cipher.getParameters();
+
+                // Test DECRYPT_MODE
+                cipher = Cipher.getInstance(algorithm);
+                Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                assertSame(provider, cipher.getProvider());
+
+                // Test UNWRAP_MODE
+                cipher = Cipher.getInstance(algorithm);
+                if (params != null) {
+                    cipher.init(Cipher.UNWRAP_MODE, decryptionKey, params);
+                } else {
+                    cipher.init(Cipher.UNWRAP_MODE, decryptionKey);
+                }
+                assertSame(provider, cipher.getProvider());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testAndroidKeyStorePublicKeysAcceptedByHighestPriorityProviderWhenEncrypting()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(algorithm)) {
+                continue;
+            }
+            try {
+                Key key = importDefaultKatKey(
+                        algorithm,
+                        KeyProperties.PURPOSE_ENCRYPT,
+                        false).getKeystoreBackedEncryptionKey();
+
+                Cipher cipher = Cipher.getInstance(algorithm);
+                cipher.init(Cipher.ENCRYPT_MODE, key);
+
+                cipher = Cipher.getInstance(algorithm);
+                cipher.init(Cipher.WRAP_MODE, key);
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for" + algorithm, e);
+            }
+        }
+    }
+
+    public void testEmptyPlaintextEncryptsAndDecrypts()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        final byte[] originalPlaintext = EmptyArray.BYTE;
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                    false)) {
+                try {
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    byte[] plaintext = truncatePlaintextIfNecessary(
+                            algorithm, encryptionKey, originalPlaintext);
+                    if (plaintext == null) {
+                        // Key is too short to encrypt anything using this transformation
+                        continue;
+                    }
+                    Cipher cipher = Cipher.getInstance(algorithm, provider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    AlgorithmParameters params = cipher.getParameters();
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    byte[] expectedPlaintext = plaintext;
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // RSA decryption without padding left-pads resulting plaintext with NUL
+                        // bytes to the length of RSA modulus.
+                        int modulusLengthBytes = (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                                expectedPlaintext, modulusLengthBytes);
+                    }
+
+                    cipher = Cipher.getInstance(algorithm, provider);
+                    Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                    cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                    byte[] actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias(),
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testCiphertextGeneratedByAndroidKeyStoreDecryptsByAndroidKeyStore()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        final byte[] originalPlaintext = "Very secret message goes here...".getBytes("US-ASCII");
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                    false)) {
+                try {
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    byte[] plaintext = truncatePlaintextIfNecessary(
+                            algorithm, encryptionKey, originalPlaintext);
+                    if (plaintext == null) {
+                        // Key is too short to encrypt anything using this transformation
+                        continue;
+                    }
+                    Cipher cipher = Cipher.getInstance(algorithm, provider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    AlgorithmParameters params = cipher.getParameters();
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    byte[] expectedPlaintext = plaintext;
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // RSA decryption without padding left-pads resulting plaintext with NUL
+                        // bytes to the length of RSA modulus.
+                        int modulusLengthBytes = (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                                expectedPlaintext, modulusLengthBytes);
+                    }
+
+                    cipher = Cipher.getInstance(algorithm, provider);
+                    Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                    cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                    byte[] actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias(),
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testCiphertextGeneratedByHighestPriorityProviderDecryptsByAndroidKeyStore()
+            throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        byte[] originalPlaintext = "Very secret message goes here...".getBytes("UTF-8");
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_DECRYPT,
+                    false)) {
+                Provider encryptionProvider = null;
+                try {
+                    Key encryptionKey = key.getOriginalEncryptionKey();
+                    byte[] plaintext = truncatePlaintextIfNecessary(
+                            algorithm, encryptionKey, originalPlaintext);
+                    if (plaintext == null) {
+                        // Key is too short to encrypt anything using this transformation
+                        continue;
+                    }
+
+                    Cipher cipher;
+                    try {
+                        cipher = Cipher.getInstance(algorithm);
+                        cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    } catch (InvalidKeyException e) {
+                        // No providers support encrypting using this algorithm and key.
+                        continue;
+                    }
+                    encryptionProvider = cipher.getProvider();
+                    if (keystoreProvider == encryptionProvider) {
+                        // This is covered by another test.
+                        continue;
+                    }
+                    AlgorithmParameters params = cipher.getParameters();
+
+                    // TODO: Remove this workaround for Bug 22405492 once the issue is fixed. The
+                    // issue is that Bouncy Castle incorrectly defaults the MGF1 digest to the
+                    // digest specified in the transformation. RI and Android Keystore keep the MGF1
+                    // digest defaulted at SHA-1.
+                    if ((params != null) && ("OAEP".equalsIgnoreCase(params.getAlgorithm()))) {
+                        OAEPParameterSpec spec = params.getParameterSpec(OAEPParameterSpec.class);
+                        if (!"SHA-1".equalsIgnoreCase(
+                                ((MGF1ParameterSpec) spec.getMGFParameters())
+                                        .getDigestAlgorithm())) {
+                            cipher.init(Cipher.ENCRYPT_MODE, encryptionKey, new OAEPParameterSpec(
+                                    spec.getDigestAlgorithm(),
+                                    "MGF1",
+                                    MGF1ParameterSpec.SHA1,
+                                    PSource.PSpecified.DEFAULT));
+                            params = cipher.getParameters();
+                        }
+                    }
+
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    byte[] expectedPlaintext = plaintext;
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // RSA decryption without padding left-pads resulting plaintext with NUL
+                        // bytes to the length of RSA modulus.
+                        int modulusLengthBytes = (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                                expectedPlaintext, modulusLengthBytes);
+                    }
+
+                    // TODO: Remove this workaround once Android Keystore AES-GCM supports IVs of
+                    // sizes other than 12 bytes. For example, Bouncy Castle auto-generates 16-byte
+                    // long IVs.
+                    if ("AES/GCM/NoPadding".equalsIgnoreCase(algorithm)) {
+                        byte[] iv = cipher.getIV();
+                        if ((iv != null) && (iv.length != 12)) {
+                            // Android Keystore AES-GCM only supports 12-byte long IVs.
+                            continue;
+                        }
+                    }
+
+                    // TODO: Remove this workaround for Bug 22319986 once the issue is fixed. The issue
+                    // is that Conscrypt and Bouncy Castle's AES/GCM/NoPadding implementations return
+                    // AlgorithmParameters of algorithm "AES" from which it's impossible to obtain a
+                    // GCMParameterSpec. They should be returning AlgorithmParameters of algorithm
+                    // "GCM".
+                    if (("AES/GCM/NoPadding".equalsIgnoreCase(algorithm))
+                            && (!"GCM".equalsIgnoreCase(params.getAlgorithm()))) {
+                        params = AlgorithmParameters.getInstance("GCM");
+                        params.init(new GCMParameterSpec(128, cipher.getIV()));
+                    }
+
+                    cipher = Cipher.getInstance(algorithm, keystoreProvider);
+                    Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                    cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                    byte[] actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias()
+                                    + ", encryption provider: " + encryptionProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testCiphertextGeneratedByAndroidKeyStoreDecryptsByHighestPriorityProvider()
+            throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        byte[] originalPlaintext = "Very secret message goes here...".getBytes("UTF-8");
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_ENCRYPT,
+                    false)) {
+                Provider decryptionProvider = null;
+                try {
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    byte[] plaintext = truncatePlaintextIfNecessary(
+                            algorithm, encryptionKey, originalPlaintext);
+                    if (plaintext == null) {
+                        // Key is too short to encrypt anything using this transformation
+                        continue;
+                    }
+                    Cipher cipher = Cipher.getInstance(algorithm, keystoreProvider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    AlgorithmParameters params = cipher.getParameters();
+
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    byte[] expectedPlaintext = plaintext;
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // RSA decryption without padding left-pads resulting plaintext with NUL
+                        // bytes to the length of RSA modulus.
+                        int modulusLengthBytes = (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                                expectedPlaintext, modulusLengthBytes);
+                    }
+
+                    Key decryptionKey = key.getOriginalDecryptionKey();
+                    try {
+                        cipher = Cipher.getInstance(algorithm);
+                        if (params != null) {
+                            cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                        } else {
+                            cipher.init(Cipher.DECRYPT_MODE, decryptionKey);
+                        }
+                    } catch (InvalidKeyException e) {
+                        // No providers support decrypting using this algorithm and key.
+                        continue;
+                    }
+                    decryptionProvider = cipher.getProvider();
+                    if (keystoreProvider == decryptionProvider) {
+                        // This is covered by another test.
+                        continue;
+                    }
+                    byte[] actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias()
+                                    + ", decryption provider: " + decryptionProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testMaxSizedPlaintextSupported() throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(algorithm)) {
+                // No input length restrictions (except multiple of block size for some
+                // transformations).
+                continue;
+            }
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                    false)) {
+                int plaintextSizeBytes = -1;
+                Provider otherProvider = null;
+                try {
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    int maxSupportedPlaintextSizeBytes =
+                            TestUtils.getMaxSupportedPlaintextInputSizeBytes(
+                                    algorithm, encryptionKey);
+                    if (maxSupportedPlaintextSizeBytes < 0) {
+                        // Key too short to encrypt anything using this transformation.
+                        continue;
+                    } else if (maxSupportedPlaintextSizeBytes == Integer.MAX_VALUE) {
+                        // No input length restrictions.
+                        continue;
+                    }
+                    byte[] plaintext = new byte[maxSupportedPlaintextSizeBytes];
+                    Arrays.fill(plaintext, (byte) 0xff);
+                    plaintextSizeBytes = plaintext.length;
+
+                    // Encrypt plaintext using Android Keystore Cipher
+                    Cipher cipher = Cipher.getInstance(algorithm, keystoreProvider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    AlgorithmParameters params = cipher.getParameters();
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    byte[] expectedPlaintext = plaintext;
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // RSA decryption without padding left-pads resulting plaintext with NUL
+                        // bytes to the length of RSA modulus.
+                        int modulusLengthBytes = (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                                expectedPlaintext, modulusLengthBytes);
+                    }
+
+                    // Check that ciphertext decrypts using Android Keystore Cipher
+                    cipher = Cipher.getInstance(algorithm, keystoreProvider);
+                    Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                    cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                    byte[] actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+
+                    // Check that ciphertext decrypts using the highest-priority provider.
+                    cipher = Cipher.getInstance(algorithm);
+                    decryptionKey = key.getOriginalDecryptionKey();
+                    try {
+                        cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params);
+                    } catch (InvalidKeyException e) {
+                        // No other providers offer decryption using this transformation and key.
+                        continue;
+                    }
+                    otherProvider = cipher.getProvider();
+                    if (otherProvider == keystoreProvider) {
+                        // This has already been tested above.
+                        continue;
+                    }
+                    actualPlaintext = cipher.doFinal(ciphertext);
+                    MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias()
+                                    + " and " + plaintextSizeBytes + " long plaintext"
+                                    + ", other provider: " + otherProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testLargerThanMaxSizedPlaintextRejected() throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(algorithm)) {
+                // No input length restrictions (except multiple of block size for some
+                // transformations).
+                continue;
+            }
+            for (ImportedKey key : importKatKeys(
+                    algorithm,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                    false)) {
+                int plaintextSizeBytes = -1;
+                Provider otherProvider = null;
+                try {
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    int maxSupportedPlaintextSizeBytes =
+                            TestUtils.getMaxSupportedPlaintextInputSizeBytes(
+                                    algorithm, encryptionKey);
+                    if (maxSupportedPlaintextSizeBytes < 0) {
+                        // Key too short to encrypt anything using this transformation.
+                        continue;
+                    } else if (maxSupportedPlaintextSizeBytes == Integer.MAX_VALUE) {
+                        // No input length restrictions.
+                        continue;
+                    }
+                    // Create plaintext which is one byte longer than maximum supported one.
+                    byte[] plaintext = new byte[maxSupportedPlaintextSizeBytes + 1];
+                    Arrays.fill(plaintext, (byte) 0xff);
+                    plaintextSizeBytes = plaintext.length;
+
+                    // Encrypting this plaintext using Android Keystore Cipher should fail.
+                    Cipher cipher = Cipher.getInstance(algorithm, keystoreProvider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // This transformation is special: it's supposed to throw a
+                        // BadPaddingException instead of an IllegalBlockSizeException.
+                        try {
+                            byte[] ciphertext = cipher.doFinal(plaintext);
+                            fail("Unexpectedly produced ciphertext (" + ciphertext.length
+                                    + " bytes): " + HexEncoding.encode(ciphertext) + " for "
+                                    + plaintext.length + " byte long plaintext");
+                        } catch (BadPaddingException expected) {}
+                    } else {
+                        try {
+                            byte[] ciphertext = cipher.doFinal(plaintext);
+                            fail("Unexpectedly produced ciphertext (" + ciphertext.length
+                                    + " bytes): " + HexEncoding.encode(ciphertext) + " for "
+                                    + plaintext.length + " byte long plaintext");
+                        } catch (IllegalBlockSizeException expected) {}
+                    }
+
+                    // Encrypting this plaintext using the highest-priority implementation should
+                    // fail.
+                    cipher = Cipher.getInstance(algorithm);
+                    encryptionKey = key.getOriginalEncryptionKey();
+                    try {
+                        cipher.init(Cipher.ENCRYPT_MODE, encryptionKey);
+                    } catch (InvalidKeyException e) {
+                        // No other providers support this transformation with this key.
+                        continue;
+                    }
+                    otherProvider = cipher.getProvider();
+                    if (otherProvider == keystoreProvider) {
+                        // This has already been tested above.
+                        continue;
+                    }
+                    if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                        // This transformation is special: it's supposed to throw a
+                        // BadPaddingException instead of an IllegalBlockSizeException.
+                        try {
+                            byte[] ciphertext = cipher.doFinal(plaintext);
+                            fail(otherProvider.getName() + " unexpectedly produced ciphertext ("
+                                    + ciphertext.length + " bytes): "
+                                    + HexEncoding.encode(ciphertext) + " for "
+                                    + plaintext.length + " byte long plaintext");
+                            // TODO: Remove this workaround once Conscrypt's RSA Cipher Bug 22567458
+                            // is fixed. Conscrypt's Cipher.doFinal throws a SignatureException.
+                            // This code is unreachable because of the fail() above. It's here only
+                            // so that the compiler does not complain about us catching
+                            // SignatureException.
+                            Signature sig = Signature.getInstance("SHA256withRSA");
+                            sig.sign();
+                        } catch (BadPaddingException | SignatureException expected) {}
+                    } else {
+                        try {
+                            byte[] ciphertext = cipher.doFinal(plaintext);
+                            fail(otherProvider.getName() + " unexpectedly produced ciphertext ("
+                                    + ciphertext.length + " bytes): "
+                                    + HexEncoding.encode(ciphertext) + " for "
+                                    + plaintext.length + " byte long plaintext");
+                            // TODO: Remove the catching of RuntimeException workaround once the
+                            // corresponding Bug 22567463 in Conscrypt is fixed.
+                        } catch (IllegalBlockSizeException | RuntimeException expected) {}
+                    }
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + key.getAlias()
+                            + " and " + plaintextSizeBytes + " byte long plaintext"
+                            + ", other provider: " + otherProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testKat() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                ImportedKey key = importDefaultKatKey(algorithm,
+                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                        true);
+                KatVector testVector = KAT_VECTORS.get(algorithm);
+                assertNotNull(testVector);
+                Cipher cipher = Cipher.getInstance(algorithm, provider);
+                Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                cipher.init(Cipher.DECRYPT_MODE, decryptionKey, testVector.params);
+                byte[] actualPlaintext = cipher.doFinal(testVector.ciphertext);
+                byte[] expectedPlaintext = testVector.plaintext;
+                if ("RSA/ECB/NoPadding".equalsIgnoreCase(algorithm)) {
+                    // RSA decryption without padding left-pads resulting plaintext with NUL bytes
+                    // to the length of RSA modulus.
+                    int modulusLengthBytes = (TestUtils.getKeySizeBits(decryptionKey) + 7) / 8;
+                    expectedPlaintext = TestUtils.leftPadWithZeroBytes(
+                            expectedPlaintext, modulusLengthBytes);
+                }
+                MoreAsserts.assertEquals(expectedPlaintext, actualPlaintext);
+                if (!isRandomizedEncryption(algorithm)) {
+                    // Deterministic encryption: ciphertext depends only on plaintext and input
+                    // parameters. Assert that encrypting the plaintext results in the same
+                    // ciphertext as in the test vector.
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    cipher = Cipher.getInstance(algorithm, provider);
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey, testVector.params);
+                    byte[] actualCiphertext = cipher.doFinal(testVector.plaintext);
+                    MoreAsserts.assertEquals(testVector.ciphertext, actualCiphertext);
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    private static boolean isRandomizedEncryption(String transformation) {
+        String transformationUpperCase = transformation.toUpperCase(Locale.US);
+        return (transformationUpperCase.endsWith("/PKCS1PADDING"))
+                || (transformationUpperCase.contains("OAEP"));
+    }
+
+    public void testInitDecryptFailsWhenNotAuthorizedToDecrypt() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good, KeyProperties.PURPOSE_ENCRYPT).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenNotAuthorizedToEncrypt() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good, KeyProperties.PURPOSE_DECRYPT).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresAuthorizedPurposes() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good, 0).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptFailsWhenBlockModeNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(
+                    TestUtils.getCipherKeyAlgorithm(transformation))) {
+                // Block modes do not apply
+                continue;
+            }
+
+            String goodBlockMode = TestUtils.getCipherBlockMode(transformation);
+            String badBlockMode = KeyProperties.BLOCK_MODE_CBC.equalsIgnoreCase(goodBlockMode)
+                    ? KeyProperties.BLOCK_MODE_CTR : KeyProperties.BLOCK_MODE_CBC;
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setBlockModes(badBlockMode).build());
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for "
+                                + badBlockMode,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenBlockModeNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+
+            if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(
+                    TestUtils.getCipherKeyAlgorithm(transformation))) {
+                // Block modes do not apply
+                continue;
+            }
+
+            String goodBlockMode = TestUtils.getCipherBlockMode(transformation);
+            String badBlockMode = KeyProperties.BLOCK_MODE_CBC.equalsIgnoreCase(goodBlockMode)
+                    ? KeyProperties.BLOCK_MODE_CTR : KeyProperties.BLOCK_MODE_CBC;
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setBlockModes(badBlockMode).build());
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for "
+                                + badBlockMode,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresAuthorizedBlockModes() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good).setBlockModes().build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptFailsWhenDigestNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            String impliedDigest = TestUtils.getCipherDigest(transformation);
+            if (impliedDigest == null) {
+                // No digest used by this transformation
+                continue;
+            }
+
+            String badDigest = KeyProperties.DIGEST_SHA256.equalsIgnoreCase(impliedDigest)
+                    ? KeyProperties.DIGEST_SHA512 : KeyProperties.DIGEST_SHA256;
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setDigests(badDigest).build());
+
+                if (!KeyProperties.DIGEST_NONE.equalsIgnoreCase(impliedDigest)) {
+                    // Check that authorized digest NONE does not mean ANY digest is authorized.
+                    badDigest = KeyProperties.DIGEST_NONE;
+                    assertInitDecryptThrowsInvalidKeyException(transformation,
+                            TestUtils.buildUpon(good).setDigests(badDigest).build());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for " + badDigest,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenDigestNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+
+            String impliedDigest = TestUtils.getCipherDigest(transformation);
+            if (impliedDigest == null) {
+                // No digest used by this transformation
+                continue;
+            }
+
+            String badDigest = KeyProperties.DIGEST_SHA256.equalsIgnoreCase(impliedDigest)
+                    ? KeyProperties.DIGEST_SHA512 : KeyProperties.DIGEST_SHA256;
+
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setDigests(badDigest).build());
+
+                if (!KeyProperties.DIGEST_NONE.equalsIgnoreCase(impliedDigest)) {
+                    // Check that authorized digest NONE does not mean ANY digest is authorized.
+                    badDigest = KeyProperties.DIGEST_NONE;
+                    assertInitEncryptThrowsInvalidKeyException(transformation,
+                            TestUtils.buildUpon(good).setDigests(badDigest).build());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for " + badDigest,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresAuthorizedDigests() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good).setDigests().build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptFailsWhenPaddingSchemeNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            String impliedEncryptionPadding = TestUtils.getCipherEncryptionPadding(transformation);
+            String badEncryptionPadding;
+            if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(
+                    TestUtils.getCipherKeyAlgorithm(transformation))) {
+                badEncryptionPadding =
+                        KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1.equalsIgnoreCase(
+                                impliedEncryptionPadding)
+                        ? KeyProperties.ENCRYPTION_PADDING_RSA_OAEP
+                        : KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1;
+            } else {
+                badEncryptionPadding = KeyProperties.ENCRYPTION_PADDING_PKCS7.equalsIgnoreCase(
+                        impliedEncryptionPadding)
+                        ? KeyProperties.ENCRYPTION_PADDING_NONE
+                        : KeyProperties.ENCRYPTION_PADDING_PKCS7;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good)
+                                .setEncryptionPaddings(badEncryptionPadding)
+                                .build());
+
+                if (!KeyProperties.ENCRYPTION_PADDING_NONE.equalsIgnoreCase(
+                        impliedEncryptionPadding)) {
+                    // Check that authorized padding NONE does not mean ANY padding is authorized.
+                    badEncryptionPadding = KeyProperties.ENCRYPTION_PADDING_NONE;
+                    assertInitDecryptThrowsInvalidKeyException(transformation,
+                            TestUtils.buildUpon(good)
+                                    .setEncryptionPaddings(badEncryptionPadding)
+                                    .build());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for "
+                                + badEncryptionPadding,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenPaddingSchemeNotAuthorized() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+            String impliedEncryptionPadding = TestUtils.getCipherEncryptionPadding(transformation);
+            String badEncryptionPadding = KeyProperties.ENCRYPTION_PADDING_PKCS7.equalsIgnoreCase(
+                    impliedEncryptionPadding)
+                    ? KeyProperties.ENCRYPTION_PADDING_NONE
+                    : KeyProperties.ENCRYPTION_PADDING_PKCS7;
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good)
+                                .setEncryptionPaddings(badEncryptionPadding)
+                                .build());
+
+                if (!KeyProperties.ENCRYPTION_PADDING_NONE.equalsIgnoreCase(
+                        impliedEncryptionPadding)) {
+                    // Check that authorized padding NONE does not mean ANY padding is authorized.
+                    badEncryptionPadding = KeyProperties.ENCRYPTION_PADDING_NONE;
+                    assertInitEncryptThrowsInvalidKeyException(transformation,
+                            TestUtils.buildUpon(good)
+                                    .setEncryptionPaddings(badEncryptionPadding)
+                                    .build());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        "Failed for " + transformation + " when authorized only for "
+                                + badEncryptionPadding,
+                        e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresAuthorizedPaddingSchemes() throws Exception {
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good)
+                                .setEncryptionPaddings()
+                                .setSignaturePaddings()
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptFailsWhenKeyNotYetValid() throws Exception {
+        Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenKeyNotYetValid() throws Exception {
+        Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresThatKeyNotYetValid() throws Exception {
+        Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptFailsWhenKeyNoLongerValidForConsumption() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitDecryptIgnoresThatKeyNoLongerValidForOrigination() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_DECRYPT);
+
+                assertInitDecryptSucceeds(transformation, good);
+                assertInitDecryptSucceeds(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricFailsWhenKeyNoLongerValidForOrigination() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptThrowsInvalidKeyException(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptSymmetricIgnoresThatKeyNoLongerValidForConsumption()
+            throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (!isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testInitEncryptAsymmetricIgnoresThatKeyNoLongerValid() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            if (isSymmetric(transformation)) {
+                continue;
+            }
+            try {
+                KeyProtection good = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        transformation,
+                        KeyProperties.PURPOSE_ENCRYPT);
+
+                assertInitEncryptSucceeds(transformation, good);
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+                assertInitEncryptSucceeds(transformation,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + transformation, e);
+            }
+        }
+    }
+
+    public void testEntropyConsumption() throws Exception {
+        // Assert that encryption consumes the correct amount of entropy from the provided
+        // SecureRandom and that decryption consumes no entropy.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        CountingSecureRandom rng = new CountingSecureRandom();
+        for (String transformation : EXPECTED_ALGORITHMS) {
+            for (ImportedKey key : importKatKeys(
+                    transformation,
+                    KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                    true)) {
+                try {
+                    Cipher cipher = Cipher.getInstance(transformation, provider);
+                    Key encryptionKey = key.getKeystoreBackedEncryptionKey();
+                    byte[] plaintext = truncatePlaintextIfNecessary(
+                            transformation, encryptionKey, new byte[32]);
+                    if (plaintext == null) {
+                        // Key too short to encrypt anything using this transformation.
+                        continue;
+                    }
+                    Arrays.fill(plaintext, (byte) 0x1);
+
+                    // Cipher.init may only consume entropy for generating the IV.
+                    rng.resetCounters();
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey, rng);
+                    int expectedEntropyBytesConsumedDuringInit;
+                    String keyAlgorithm = TestUtils.getCipherKeyAlgorithm(transformation);
+                    if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+                        String blockMode =
+                                TestUtils.getCipherBlockMode(transformation).toUpperCase(Locale.US);
+                        // Entropy should consumed for IV generation only.
+                        switch (blockMode) {
+                            case "ECB":
+                                expectedEntropyBytesConsumedDuringInit = 0;
+                                break;
+                            case "CBC":
+                            case "CTR":
+                                expectedEntropyBytesConsumedDuringInit = 16;
+                                break;
+                            case "GCM":
+                                expectedEntropyBytesConsumedDuringInit = 12;
+                                break;
+                            default:
+                                throw new RuntimeException("Unsupported block mode " + blockMode);
+                        }
+                    } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+                        expectedEntropyBytesConsumedDuringInit = 0;
+                    } else {
+                        throw new RuntimeException("Unsupported key algorithm: " + transformation);
+                    }
+                    assertEquals(expectedEntropyBytesConsumedDuringInit, rng.getOutputSizeBytes());
+                    AlgorithmParameters params = cipher.getParameters();
+
+                    // Cipher.update should not consume entropy.
+                    rng.resetCounters();
+                    byte[] ciphertext = cipher.update(plaintext);
+                    assertEquals(0, rng.getOutputSizeBytes());
+
+                    // Cipher.doFinal may consume entropy to pad the message (RSA only).
+                    rng.resetCounters();
+                    ciphertext = TestUtils.concat(ciphertext, cipher.doFinal());
+                    int expectedEntropyBytesConsumedDuringDoFinal;
+                    if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+                        expectedEntropyBytesConsumedDuringDoFinal = 0;
+                    } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+                        // Entropy should not be consumed during Cipher.init.
+                        String encryptionPadding =
+                                TestUtils.getCipherEncryptionPadding(transformation);
+                        if (KeyProperties.ENCRYPTION_PADDING_RSA_OAEP.equalsIgnoreCase(
+                                encryptionPadding)) {
+                            int digestOutputSizeBits =
+                                    TestUtils.getDigestOutputSizeBits(TestUtils.getCipherDigest(
+                                            transformation));
+                            expectedEntropyBytesConsumedDuringDoFinal =
+                                    (digestOutputSizeBits + 7) / 8;
+                        } else if (encryptionPadding.equalsIgnoreCase(
+                                KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)) {
+                            expectedEntropyBytesConsumedDuringDoFinal =
+                                    (TestUtils.getKeySizeBits(encryptionKey) + 7) / 8;
+                        } else if (encryptionPadding.equalsIgnoreCase(
+                                KeyProperties.ENCRYPTION_PADDING_NONE)) {
+                            expectedEntropyBytesConsumedDuringDoFinal = 0;
+                        } else {
+                            throw new RuntimeException(
+                                    "Unexpected encryption padding: " + encryptionPadding);
+                        }
+                    } else {
+                        throw new RuntimeException("Unsupported key algorithm: " + keyAlgorithm);
+                    }
+                    assertEquals(
+                            expectedEntropyBytesConsumedDuringDoFinal, rng.getOutputSizeBytes());
+
+                    // Assert that when initialization parameters are provided when encrypting, no
+                    // entropy is consumed by Cipher.init. This is because Cipher.init should only
+                    // use entropy for generating an IV which in this case no longer needs to be
+                    // generated because it's specified in the parameters.
+                    cipher = Cipher.getInstance(transformation, provider);
+                    rng.resetCounters();
+                    cipher.init(Cipher.ENCRYPT_MODE, encryptionKey, params, rng);
+                    assertEquals(0, rng.getOutputSizeBytes());
+                    Key decryptionKey = key.getKeystoreBackedDecryptionKey();
+                    rng.resetCounters();
+                    cipher = Cipher.getInstance(transformation, provider);
+                    cipher.init(Cipher.DECRYPT_MODE, decryptionKey, params, rng);
+                    assertEquals(0, rng.getOutputSizeBytes());
+                    rng.resetCounters();
+                    cipher.update(ciphertext);
+                    assertEquals(0, rng.getOutputSizeBytes());
+                    rng.resetCounters();
+                    cipher.doFinal();
+                    assertEquals(0, rng.getOutputSizeBytes());
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + transformation + " with key " + key.getAlias(), e);
+                }
+            }
+        }
+    }
+
+    private AlgorithmParameterSpec getWorkingDecryptionParameterSpec(String transformation) {
+        String keyAlgorithm = TestUtils.getCipherKeyAlgorithm(transformation);
+        if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            return null;
+        } else if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+            String blockMode = TestUtils.getCipherBlockMode(transformation);
+            if (KeyProperties.BLOCK_MODE_ECB.equalsIgnoreCase(blockMode)) {
+                return null;
+            } else if ((KeyProperties.BLOCK_MODE_CBC.equalsIgnoreCase(blockMode))
+                    || (KeyProperties.BLOCK_MODE_CTR.equalsIgnoreCase(blockMode))) {
+                return new IvParameterSpec(
+                        new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16});
+            } else if (KeyProperties.BLOCK_MODE_GCM.equalsIgnoreCase(blockMode)) {
+                return new GCMParameterSpec(
+                        128,
+                        new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12});
+            } else {
+                throw new IllegalArgumentException("Unsupported block mode: " + blockMode);
+            }
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    private void assertInitDecryptSucceeds(String transformation, KeyProtection importParams)
+            throws Exception {
+        Cipher cipher = Cipher.getInstance(transformation, EXPECTED_PROVIDER_NAME);
+        Key key =
+                importDefaultKatKey(transformation, importParams).getKeystoreBackedDecryptionKey();
+        AlgorithmParameterSpec params = getWorkingDecryptionParameterSpec(transformation);
+        cipher.init(Cipher.DECRYPT_MODE, key, params);
+    }
+
+    private void assertInitDecryptThrowsInvalidKeyException(
+            String transformation, KeyProtection importParams) throws Exception {
+        Cipher cipher = Cipher.getInstance(transformation, EXPECTED_PROVIDER_NAME);
+        Key key =
+                importDefaultKatKey(transformation, importParams).getKeystoreBackedDecryptionKey();
+        AlgorithmParameterSpec params = getWorkingDecryptionParameterSpec(transformation);
+        try {
+            cipher.init(Cipher.DECRYPT_MODE, key, params);
+            fail("InvalidKeyException should have been thrown");
+        } catch (InvalidKeyException expected) {}
+    }
+
+    private void assertInitEncryptSucceeds(String transformation, KeyProtection importParams)
+            throws Exception {
+        Cipher cipher = Cipher.getInstance(transformation, EXPECTED_PROVIDER_NAME);
+        Key key =
+                importDefaultKatKey(transformation, importParams).getKeystoreBackedEncryptionKey();
+        cipher.init(Cipher.ENCRYPT_MODE, key);
+    }
+
+    private void assertInitEncryptThrowsInvalidKeyException(
+            String transformation, KeyProtection importParams) throws Exception {
+        Cipher cipher = Cipher.getInstance(transformation, EXPECTED_PROVIDER_NAME);
+        Key key =
+                importDefaultKatKey(transformation, importParams).getKeystoreBackedEncryptionKey();
+        try {
+            cipher.init(Cipher.ENCRYPT_MODE, key);
+            fail("InvalidKeyException should have been thrown");
+        } catch (InvalidKeyException expected) {}
+    }
+
+    private ImportedKey importDefaultKatKey(
+            String transformation, KeyProtection importParams)
+            throws Exception {
+        String keyAlgorithm = TestUtils.getCipherKeyAlgorithm(transformation);
+        if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+            return TestUtils.importIntoAndroidKeyStore(
+                    "testAES",
+                    new SecretKeySpec(AES128_KAT_KEY_BYTES, "AES"),
+                    importParams);
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            return TestUtils.importIntoAndroidKeyStore(
+                    "testRSA",
+                    getContext(),
+                    R.raw.rsa_key2_pkcs8,
+                    R.raw.rsa_key2_cert,
+                    importParams);
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    private ImportedKey importDefaultKatKey(
+            String transformation, int purposes, boolean ivProvidedWhenEncrypting)
+            throws Exception {
+        KeyProtection importParams = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                transformation, purposes, ivProvidedWhenEncrypting);
+        return importDefaultKatKey(transformation, importParams);
+    }
+
+    private Collection<ImportedKey> importKatKeys(
+            String transformation, int purposes, boolean ivProvidedWhenEncrypting)
+            throws Exception {
+        KeyProtection importParams = TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                transformation, purposes, ivProvidedWhenEncrypting);
+        String keyAlgorithm = TestUtils.getCipherKeyAlgorithm(transformation);
+        if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+            return Arrays.asList(
+                    TestUtils.importIntoAndroidKeyStore(
+                            "testAES128",
+                            new SecretKeySpec(AES128_KAT_KEY_BYTES, "AES"),
+                            importParams),
+                    TestUtils.importIntoAndroidKeyStore(
+                            "testAES192",
+                            new SecretKeySpec(AES192_KAT_KEY_BYTES, "AES"),
+                            importParams),
+                    TestUtils.importIntoAndroidKeyStore(
+                            "testAES256",
+                            new SecretKeySpec(AES256_KAT_KEY_BYTES, "AES"),
+                            importParams)
+                    );
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            return RSASignatureTest.importKatKeyPairs(getContext(), importParams);
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    private static boolean isSymmetric(String transformation) {
+        return TestUtils.isCipherSymmetric(transformation);
+    }
+
+    private static byte[] truncatePlaintextIfNecessary(
+            String transformation, Key encryptionKey, byte[] plaintext) {
+        int maxSupportedPlaintextSizeBytes =
+                TestUtils.getMaxSupportedPlaintextInputSizeBytes(
+                        transformation, encryptionKey);
+        if (plaintext.length <= maxSupportedPlaintextSizeBytes) {
+            // No need to truncate
+            return plaintext;
+        } else if (maxSupportedPlaintextSizeBytes < 0) {
+            // Key too short to encrypt anything at all using this transformation
+            return null;
+        } else {
+            // Truncate plaintext to exercise this transformation with this key
+            return Arrays.copyOf(plaintext, maxSupportedPlaintextSizeBytes);
+        }
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/ECDSASignatureTest.java b/tests/tests/keystore/src/android/keystore/cts/ECDSASignatureTest.java
index 2330209..ea3940d 100644
--- a/tests/tests/keystore/src/android/keystore/cts/ECDSASignatureTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/ECDSASignatureTest.java
@@ -16,38 +16,37 @@
 
 package android.keystore.cts;
 
-import android.security.keystore.KeyGenParameterSpec;
-import android.security.keystore.KeyProperties;
+import android.content.Context;
+import android.security.keystore.KeyProtection;
+import android.test.AndroidTestCase;
 
-import junit.framework.TestCase;
+import com.android.cts.keystore.R;
 
 import java.security.KeyPair;
-import java.security.KeyPairGenerator;
 import java.security.Security;
 import java.security.Signature;
+import java.util.Arrays;
+import java.util.Collection;
 
-public class ECDSASignatureTest extends TestCase {
+public class ECDSASignatureTest extends AndroidTestCase {
 
     public void testNONEwithECDSATruncatesInputToFieldSize() throws Exception {
-        assertNONEwithECDSATruncatesInputToFieldSize(224);
-        assertNONEwithECDSATruncatesInputToFieldSize(256);
-        assertNONEwithECDSATruncatesInputToFieldSize(384);
-        assertNONEwithECDSATruncatesInputToFieldSize(521);
+        for (ImportedKey key : importKatKeyPairs("NONEwithECDSA")) {
+            try {
+                assertNONEwithECDSATruncatesInputToFieldSize(key.getKeystoreBackedKeyPair());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + key.getAlias(), e);
+            }
+        }
     }
 
-    private void assertNONEwithECDSATruncatesInputToFieldSize(int keySizeBits) throws Exception {
+    private void assertNONEwithECDSATruncatesInputToFieldSize(KeyPair keyPair)
+            throws Exception {
+        int keySizeBits = TestUtils.getKeySizeBits(keyPair.getPublic());
         byte[] message = new byte[(keySizeBits * 3) / 8];
         for (int i = 0; i < message.length; i++) {
             message[i] = (byte) (i + 1);
         }
-        KeyPairGenerator generator = KeyPairGenerator.getInstance("EC", "AndroidKeyStore");
-        generator.initialize(new KeyGenParameterSpec.Builder(
-                "test1",
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_NONE)
-                .setKeySize(keySizeBits)
-                .build());
-        KeyPair keyPair = generator.generateKeyPair();
 
         Signature signature = Signature.getInstance("NONEwithECDSA");
         signature.initSign(keyPair.getPrivate());
@@ -73,26 +72,23 @@
     }
 
     public void testNONEwithECDSASupportsMessagesShorterThanFieldSize() throws Exception {
-        assertNONEwithECDSASupportsMessagesShorterThanFieldSize(224);
-        assertNONEwithECDSASupportsMessagesShorterThanFieldSize(256);
-        assertNONEwithECDSASupportsMessagesShorterThanFieldSize(384);
-        assertNONEwithECDSASupportsMessagesShorterThanFieldSize(521);
+        for (ImportedKey key : importKatKeyPairs("NONEwithECDSA")) {
+            try {
+                assertNONEwithECDSASupportsMessagesShorterThanFieldSize(
+                        key.getKeystoreBackedKeyPair());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + key.getAlias(), e);
+            }
+        }
     }
 
-    private void assertNONEwithECDSASupportsMessagesShorterThanFieldSize(
-            int keySizeBits) throws Exception {
+    private void assertNONEwithECDSASupportsMessagesShorterThanFieldSize(KeyPair keyPair)
+            throws Exception {
+        int keySizeBits = TestUtils.getKeySizeBits(keyPair.getPublic());
         byte[] message = new byte[(keySizeBits * 3 / 4) / 8];
         for (int i = 0; i < message.length; i++) {
             message[i] = (byte) (i + 1);
         }
-        KeyPairGenerator generator = KeyPairGenerator.getInstance("EC", "AndroidKeyStore");
-        generator.initialize(new KeyGenParameterSpec.Builder(
-                "test1",
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_NONE)
-                .setKeySize(keySizeBits)
-                .build());
-        KeyPair keyPair = generator.generateKeyPair();
 
         Signature signature = Signature.getInstance("NONEwithECDSA");
         signature.initSign(keyPair.getPrivate());
@@ -109,11 +105,29 @@
         assertTrue(signature.verify(sigBytes));
 
         // Assert that the message is left-padded with zero bits
-        byte[] fullLengthMessage = new byte[keySizeBits / 8];
-        System.arraycopy(message, 0,
-                fullLengthMessage, fullLengthMessage.length - message.length,
-                message.length);
+        byte[] fullLengthMessage = TestUtils.leftPadWithZeroBytes(message, keySizeBits / 8);
         signature.update(fullLengthMessage);
         assertTrue(signature.verify(sigBytes));
     }
+
+    private Collection<ImportedKey> importKatKeyPairs(String signatureAlgorithm)
+            throws Exception {
+        KeyProtection params =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith(signatureAlgorithm);
+        return importKatKeyPairs(getContext(), params);
+    }
+
+    static Collection<ImportedKey> importKatKeyPairs(
+            Context context, KeyProtection importParams) throws Exception {
+        return Arrays.asList(new ImportedKey[] {
+                TestUtils.importIntoAndroidKeyStore("testECsecp224r1", context,
+                        R.raw.ec_key3_secp224r1_pkcs8, R.raw.ec_key3_secp224r1_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testECsecp256r1", context,
+                        R.raw.ec_key4_secp256r1_pkcs8, R.raw.ec_key4_secp256r1_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testECsecp384r1", context,
+                        R.raw.ec_key5_secp384r1_pkcs8, R.raw.ec_key5_secp384r1_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testECsecp521r1", context,
+                        R.raw.ec_key6_secp521r1_pkcs8, R.raw.ec_key6_secp521r1_cert, importParams),
+                });
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/EmptyArray.java b/tests/tests/keystore/src/android/keystore/cts/EmptyArray.java
index 90ac2c4..bf08b73 100644
--- a/tests/tests/keystore/src/android/keystore/cts/EmptyArray.java
+++ b/tests/tests/keystore/src/android/keystore/cts/EmptyArray.java
@@ -20,4 +20,5 @@
     private EmptyArray() {}
 
     public static final byte[] BYTE = new byte[0];
+    public static final String[] STRING = new String[0];
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/ImportedKey.java b/tests/tests/keystore/src/android/keystore/cts/ImportedKey.java
new file mode 100644
index 0000000..b6c868f
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/ImportedKey.java
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import java.security.Key;
+import java.security.KeyPair;
+
+import javax.crypto.SecretKey;
+
+public class ImportedKey {
+    private final boolean mSymmetric;
+    private final String mAlias;
+    private final KeyPair mOriginalKeyPair;
+    private final KeyPair mKeystoreBackedKeyPair;
+    private final SecretKey mOriginalSecretKey;
+    private final SecretKey mKeystoreBackedSecretKey;
+
+    public ImportedKey(String alias, KeyPair original, KeyPair keystoreBacked) {
+        mAlias = alias;
+        mSymmetric = false;
+        mOriginalKeyPair = original;
+        mKeystoreBackedKeyPair = keystoreBacked;
+        mOriginalSecretKey = null;
+        mKeystoreBackedSecretKey = null;
+    }
+
+    public ImportedKey(String alias, SecretKey original, SecretKey keystoreBacked) {
+        mAlias = alias;
+        mSymmetric = true;
+        mOriginalKeyPair = null;
+        mKeystoreBackedKeyPair = null;
+        mOriginalSecretKey = original;
+        mKeystoreBackedSecretKey = keystoreBacked;
+    }
+
+    public String getAlias() {
+        return mAlias;
+    }
+
+    public Key getOriginalEncryptionKey() {
+        if (mSymmetric) {
+            return mOriginalSecretKey;
+        } else {
+            return mOriginalKeyPair.getPublic();
+        }
+    }
+
+    public Key getOriginalDecryptionKey() {
+        if (mSymmetric) {
+            return mOriginalSecretKey;
+        } else {
+            return mOriginalKeyPair.getPrivate();
+        }
+    }
+
+    public Key getOriginalSigningKey() {
+        if (mSymmetric) {
+            return mOriginalSecretKey;
+        } else {
+            return mOriginalKeyPair.getPrivate();
+        }
+    }
+
+    public Key getOriginalVerificationKey() {
+        if (mSymmetric) {
+            return mOriginalSecretKey;
+        } else {
+            return mOriginalKeyPair.getPublic();
+        }
+    }
+
+    public Key getKeystoreBackedEncryptionKey() {
+        if (mSymmetric) {
+            return mKeystoreBackedSecretKey;
+        } else {
+            return mKeystoreBackedKeyPair.getPublic();
+        }
+    }
+
+    public Key getKeystoreBackedDecryptionKey() {
+        if (mSymmetric) {
+            return mKeystoreBackedSecretKey;
+        } else {
+            return mKeystoreBackedKeyPair.getPrivate();
+        }
+    }
+
+    public Key getKeystoreBackedSigningKey() {
+        if (mSymmetric) {
+            return mKeystoreBackedSecretKey;
+        } else {
+            return mKeystoreBackedKeyPair.getPrivate();
+        }
+    }
+
+    public Key getKeystoreBackedVerificationKey() {
+        if (mSymmetric) {
+            return mKeystoreBackedSecretKey;
+        } else {
+            return mKeystoreBackedKeyPair.getPublic();
+        }
+    }
+
+
+    public KeyPair getOriginalKeyPair() {
+        checkIsKeyPair();
+        return mOriginalKeyPair;
+    }
+
+    public KeyPair getKeystoreBackedKeyPair() {
+        checkIsKeyPair();
+        return mKeystoreBackedKeyPair;
+    }
+
+    public SecretKey getOriginalSecretKey() {
+        checkIsSecretKey();
+        return mOriginalSecretKey;
+    }
+
+    public SecretKey getKeystoreBackedSecretKey() {
+        checkIsSecretKey();
+        return mKeystoreBackedSecretKey;
+    }
+
+    private void checkIsKeyPair() {
+        if (mSymmetric) {
+            throw new IllegalStateException("Not a KeyPair");
+        }
+    }
+
+    private void checkIsSecretKey() {
+        if (!mSymmetric) {
+            throw new IllegalStateException("Not a SecretKey");
+        }
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/KeyFactoryTest.java b/tests/tests/keystore/src/android/keystore/cts/KeyFactoryTest.java
new file mode 100644
index 0000000..344e75a
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/KeyFactoryTest.java
@@ -0,0 +1,477 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyInfo;
+import android.security.keystore.KeyProperties;
+import android.test.AndroidTestCase;
+import android.test.MoreAsserts;
+
+import com.android.cts.keystore.R;
+
+import java.io.InputStream;
+import java.security.InvalidKeyException;
+import java.security.KeyFactory;
+import java.security.KeyPair;
+import java.security.KeyPairGenerator;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.PrivateKey;
+import java.security.Provider;
+import java.security.Security;
+import java.security.interfaces.ECPublicKey;
+import java.security.interfaces.RSAPublicKey;
+import java.security.spec.ECPrivateKeySpec;
+import java.security.spec.ECPublicKeySpec;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.KeySpec;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.security.spec.RSAPrivateKeySpec;
+import java.security.spec.RSAPublicKeySpec;
+import java.security.spec.X509EncodedKeySpec;
+import java.security.Provider.Service;
+import java.security.PublicKey;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+
+public class KeyFactoryTest extends AndroidTestCase {
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_PROVIDER_NAME;
+
+    private static final String[] EXPECTED_ALGORITHMS = {
+        "EC",
+        "RSA",
+    };
+
+    public void testAlgorithmList() {
+        // Assert that Android Keystore Provider exposes exactly the expected KeyFactory algorithms.
+        // We don't care whether the algorithms are exposed via aliases, as long as canonical names
+        // of algorithms are accepted. If the Provider exposes extraneous algorithms, it'll be
+        // caught because it'll have to expose at least one Service for such an algorithm, and this
+        // Service's algorithm will not be in the expected set.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        Set<Service> services = provider.getServices();
+        Set<String> actualAlgsLowerCase = new HashSet<String>();
+        Set<String> expectedAlgsLowerCase = new HashSet<String>(
+                Arrays.asList(TestUtils.toLowerCase(EXPECTED_ALGORITHMS)));
+        for (Service service : services) {
+            if ("KeyFactory".equalsIgnoreCase(service.getType())) {
+                String algLowerCase = service.getAlgorithm().toLowerCase(Locale.US);
+                actualAlgsLowerCase.add(algLowerCase);
+            }
+        }
+
+        TestUtils.assertContentsInAnyOrder(actualAlgsLowerCase,
+                expectedAlgsLowerCase.toArray(new String[0]));
+    }
+
+    public void testGetKeySpecWithKeystorePrivateKeyAndKeyInfoReflectsAllAuthorizations()
+            throws Exception {
+        Date keyValidityStart = new Date(System.currentTimeMillis() - TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForOriginationEnd =
+                new Date(System.currentTimeMillis() + TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForConsumptionEnd =
+                new Date(System.currentTimeMillis() + 3 * TestUtils.DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                String[] blockModes = new String[] {KeyProperties.BLOCK_MODE_ECB};
+                String[] encryptionPaddings =
+                        new String[] {KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1,
+                                KeyProperties.ENCRYPTION_PADDING_RSA_OAEP};
+                String[] digests = new String[] {KeyProperties.DIGEST_SHA1,
+                        KeyProperties.DIGEST_SHA224,
+                        KeyProperties.DIGEST_SHA384,
+                        KeyProperties.DIGEST_SHA512};
+                int purposes = KeyProperties.PURPOSE_DECRYPT | KeyProperties.PURPOSE_SIGN;
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", purposes)
+                        .setBlockModes(blockModes)
+                        .setEncryptionPaddings(encryptionPaddings)
+                        .setDigests(digests)
+                        .setKeyValidityStart(keyValidityStart)
+                        .setKeyValidityForOriginationEnd(keyValidityForOriginationEnd)
+                        .setKeyValidityForConsumptionEnd(keyValidityForConsumptionEnd)
+                        .build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                KeyInfo keyInfo = keyFactory.getKeySpec(keyPair.getPrivate(), KeyInfo.class);
+                assertEquals("test1", keyInfo.getKeystoreAlias());
+                assertEquals(purposes, keyInfo.getPurposes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(blockModes), keyInfo.getBlockModes());
+                List<String> encryptionPaddingsList =
+                        new ArrayList<String>(Arrays.asList(encryptionPaddings));
+                if (keyInfo.getEncryptionPaddings().length > encryptionPaddingsList.size()) {
+                    // Keystore may have added ENCRYPTION_PADDING_NONE to allow software digesting.
+                    encryptionPaddingsList.add(KeyProperties.ENCRYPTION_PADDING_NONE);
+                }
+                TestUtils.assertContentsInAnyOrder(
+                        encryptionPaddingsList, keyInfo.getEncryptionPaddings());
+                List<String> digestsList = new ArrayList<String>(Arrays.asList(digests));
+                if (keyInfo.getDigests().length > digestsList.size()) {
+                    // Keystore may have added DIGEST_NONE to allow software digesting.
+                    digestsList.add(KeyProperties.DIGEST_NONE);
+                }
+                TestUtils.assertContentsInAnyOrder(digestsList, keyInfo.getDigests());
+                MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                assertEquals(keyValidityStart, keyInfo.getKeyValidityStart());
+                assertEquals(keyValidityForOriginationEnd,
+                        keyInfo.getKeyValidityForOriginationEnd());
+                assertEquals(keyValidityForConsumptionEnd,
+                        keyInfo.getKeyValidityForConsumptionEnd());
+                assertFalse(keyInfo.isUserAuthenticationRequired());
+                assertFalse(keyInfo.isUserAuthenticationRequirementEnforcedBySecureHardware());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGetKeySpecWithKeystorePublicKeyRejectsKeyInfo()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.getKeySpec(keyPair.getPublic(), KeyInfo.class);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGetKeySpecWithKeystorePrivateKeyRejectsTransparentKeySpecAndEncodedKeySpec()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                Class<? extends KeySpec> transparentKeySpecClass;
+                if ("EC".equalsIgnoreCase(algorithm)) {
+                    transparentKeySpecClass = ECPrivateKeySpec.class;
+                } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                    transparentKeySpecClass = RSAPrivateKeySpec.class;
+                } else {
+                    throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+                }
+
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.getKeySpec(keyPair.getPrivate(), transparentKeySpecClass);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+
+                try {
+                    keyFactory.getKeySpec(keyPair.getPrivate(), PKCS8EncodedKeySpec.class);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGetKeySpecWithKeystorePublicKeyAcceptsX509EncodedKeySpec()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+                PublicKey publicKey = keyPair.getPublic();
+
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                X509EncodedKeySpec x509EncodedSpec =
+                        keyFactory.getKeySpec(publicKey, X509EncodedKeySpec.class);
+                MoreAsserts.assertEquals(publicKey.getEncoded(), x509EncodedSpec.getEncoded());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGetKeySpecWithKeystorePublicKeyAcceptsTransparentKeySpec()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+                PublicKey publicKey = keyPair.getPublic();
+
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                if ("EC".equalsIgnoreCase(algorithm)) {
+                    ECPublicKey ecPublicKey = (ECPublicKey) publicKey;
+                    ECPublicKeySpec spec =
+                            keyFactory.getKeySpec(publicKey, ECPublicKeySpec.class);
+                    assertEquals(ecPublicKey.getW(), spec.getW());
+                    TestUtils.assertECParameterSpecEqualsIgnoreSeedIfNotPresent(
+                            ecPublicKey.getParams(), spec.getParams());
+                } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                    RSAPublicKey rsaPublicKey = (RSAPublicKey) publicKey;
+                    RSAPublicKeySpec spec =
+                            keyFactory.getKeySpec(publicKey, RSAPublicKeySpec.class);
+                    assertEquals(rsaPublicKey.getModulus(), spec.getModulus());
+                    assertEquals(rsaPublicKey.getPublicExponent(), spec.getPublicExponent());
+                } else {
+                    throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyWithNullKeyThrowsInvalidKeyException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.translateKey(null);
+                    fail();
+                } catch (InvalidKeyException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyRejectsNonAndroidKeystoreKeys() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKey key = new SecretKeySpec(new byte[16], algorithm);
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.translateKey(key);
+                    fail();
+                } catch (InvalidKeyException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyAcceptsAndroidKeystoreKeys() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                assertSame(keyPair.getPrivate(), keyFactory.translateKey(keyPair.getPrivate()));
+                assertSame(keyPair.getPublic(), keyFactory.translateKey(keyPair.getPublic()));
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePrivateWithNullSpecThrowsInvalidKeySpecException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePrivate(null);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePublicWithNullSpecThrowsInvalidKeySpecException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePublic(null);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePrivateRejectsPKCS8EncodedKeySpec() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            int resId;
+            if ("EC".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.ec_key1_pkcs8;
+            } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.rsa_key2_pkcs8;
+            } else {
+                throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+            }
+
+            byte[] pkcs8EncodedForm;
+            try (InputStream in = getContext().getResources().openRawResource(resId)) {
+                pkcs8EncodedForm = TestUtils.drain(in);
+            }
+            PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(pkcs8EncodedForm);
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePrivate(spec);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePublicRejectsX509EncodedKeySpec() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            int resId;
+            if ("EC".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.ec_key2_cert;
+            } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.rsa_key1_cert;
+            } else {
+                throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+            }
+
+            byte[] x509EncodedForm;
+            try (InputStream in = getContext().getResources().openRawResource(resId)) {
+                x509EncodedForm = TestUtils.drain(in);
+            }
+            X509EncodedKeySpec spec = new X509EncodedKeySpec(x509EncodedForm);
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePublic(spec);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePrivateRejectsTransparentKeySpec() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            int resId;
+            Class<? extends KeySpec> keySpecClass;
+            if ("EC".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.ec_key2_pkcs8;
+                keySpecClass = ECPrivateKeySpec.class;
+            } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.rsa_key2_pkcs8;
+                keySpecClass = RSAPrivateKeySpec.class;
+            } else {
+                throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+            }
+            PrivateKey key = TestUtils.getRawResPrivateKey(getContext(), resId);
+            KeyFactory anotherKeyFactory = KeyFactory.getInstance(algorithm);
+            KeySpec spec = anotherKeyFactory.getKeySpec(key, keySpecClass);
+
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePrivate(spec);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePublicRejectsTransparentKeySpec() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            int resId;
+            Class<? extends KeySpec> keySpecClass;
+            if ("EC".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.ec_key2_cert;
+                keySpecClass = ECPublicKeySpec.class;
+            } else if ("RSA".equalsIgnoreCase(algorithm)) {
+                resId = R.raw.rsa_key2_cert;
+                keySpecClass = RSAPublicKeySpec.class;
+            } else {
+                throw new RuntimeException("Unsupported key algorithm: " + algorithm);
+            }
+            PublicKey key = TestUtils.getRawResX509Certificate(getContext(), resId).getPublicKey();
+            KeyFactory anotherKeyFactory = KeyFactory.getInstance(algorithm);
+            KeySpec spec = anotherKeyFactory.getKeySpec(key, keySpecClass);
+
+            try {
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePublic(spec);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGeneratePrivateAndPublicRejectKeyInfo() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator keyGenerator =
+                        KeyPairGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.initialize(new KeyGenParameterSpec.Builder("test1", 0).build());
+                KeyPair keyPair = keyGenerator.generateKeyPair();
+                KeyInfo keyInfo = TestUtils.getKeyInfo(keyPair.getPrivate());
+
+                KeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generatePrivate(keyInfo);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+
+                try {
+                    keyFactory.generatePublic(keyInfo);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    private KeyFactory getKeyFactory(String algorithm) throws NoSuchAlgorithmException,
+            NoSuchProviderException {
+        return KeyFactory.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/KeyGeneratorTest.java b/tests/tests/keystore/src/android/keystore/cts/KeyGeneratorTest.java
new file mode 100644
index 0000000..6deaed4
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/KeyGeneratorTest.java
@@ -0,0 +1,528 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyInfo;
+import android.security.keystore.KeyProperties;
+import android.test.MoreAsserts;
+
+import junit.framework.TestCase;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.Security;
+import java.security.spec.AlgorithmParameterSpec;
+import java.security.spec.ECGenParameterSpec;
+import java.security.Provider.Service;
+import java.security.SecureRandom;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+
+public class KeyGeneratorTest extends TestCase {
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_PROVIDER_NAME;
+
+    static final String[] EXPECTED_ALGORITHMS = {
+        "AES",
+        "HmacSHA1",
+        "HmacSHA224",
+        "HmacSHA256",
+        "HmacSHA384",
+        "HmacSHA512",
+    };
+
+    private static final Map<String, Integer> DEFAULT_KEY_SIZES =
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+    static {
+        DEFAULT_KEY_SIZES.put("AES", 128);
+        DEFAULT_KEY_SIZES.put("HmacSHA1", 160);
+        DEFAULT_KEY_SIZES.put("HmacSHA224", 224);
+        DEFAULT_KEY_SIZES.put("HmacSHA256", 256);
+        DEFAULT_KEY_SIZES.put("HmacSHA384", 384);
+        DEFAULT_KEY_SIZES.put("HmacSHA512", 512);
+    }
+
+    static final int[] AES_SUPPORTED_KEY_SIZES = new int[] {128, 192, 256};
+
+    public void testAlgorithmList() {
+        // Assert that Android Keystore Provider exposes exactly the expected KeyGenerator
+        // algorithms. We don't care whether the algorithms are exposed via aliases, as long as
+        // canonical names of algorithms are accepted. If the Provider exposes extraneous
+        // algorithms, it'll be caught because it'll have to expose at least one Service for such an
+        // algorithm, and this Service's algorithm will not be in the expected set.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        Set<Service> services = provider.getServices();
+        Set<String> actualAlgsLowerCase = new HashSet<String>();
+        Set<String> expectedAlgsLowerCase = new HashSet<String>(
+                Arrays.asList(TestUtils.toLowerCase(EXPECTED_ALGORITHMS)));
+        for (Service service : services) {
+            if ("KeyGenerator".equalsIgnoreCase(service.getType())) {
+                String algLowerCase = service.getAlgorithm().toLowerCase(Locale.US);
+                actualAlgsLowerCase.add(algLowerCase);
+            }
+        }
+
+        TestUtils.assertContentsInAnyOrder(actualAlgsLowerCase,
+                expectedAlgsLowerCase.toArray(new String[0]));
+    }
+
+    public void testGenerateWithoutInitThrowsIllegalStateException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.generateKey();
+                    fail();
+                } catch (IllegalStateException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithKeySizeThrowsUnsupportedOperationException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                int keySizeBits = DEFAULT_KEY_SIZES.get(algorithm);
+                try {
+                    keyGenerator.init(keySizeBits);
+                    fail();
+                } catch (UnsupportedOperationException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithKeySizeAndSecureRandomThrowsUnsupportedOperationException()
+            throws Exception {
+        SecureRandom rng = new SecureRandom();
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                int keySizeBits = DEFAULT_KEY_SIZES.get(algorithm);
+                try {
+                    keyGenerator.init(keySizeBits, rng);
+                    fail();
+                } catch (UnsupportedOperationException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithNullAlgParamsThrowsInvalidAlgorithmParameterException()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init((AlgorithmParameterSpec) null);
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithNullAlgParamsAndSecureRandomThrowsInvalidAlgorithmParameterException()
+            throws Exception {
+        SecureRandom rng = new SecureRandom();
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init((AlgorithmParameterSpec) null, rng);
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithAlgParamsAndNullSecureRandom()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                keyGenerator.init(getWorkingSpec().build(), (SecureRandom) null);
+                // Check that generateKey doesn't fail either, just in case null SecureRandom
+                // causes trouble there.
+                keyGenerator.generateKey();
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnsupportedAlgParamsTypeThrowsInvalidAlgorithmParameterException()
+            throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init(new ECGenParameterSpec("secp256r1"));
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testDefaultKeySize() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                int expectedSizeBits = DEFAULT_KEY_SIZES.get(algorithm);
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                keyGenerator.init(getWorkingSpec().build());
+                SecretKey key = keyGenerator.generateKey();
+                assertEquals(expectedSizeBits, TestUtils.getKeyInfo(key).getKeySize());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testAesKeySupportedSizes() throws Exception {
+        KeyGenerator keyGenerator = getKeyGenerator("AES");
+        KeyGenParameterSpec.Builder goodSpec = getWorkingSpec();
+        CountingSecureRandom rng = new CountingSecureRandom();
+        for (int i = -16; i <= 512; i++) {
+            try {
+                rng.resetCounters();
+                KeyGenParameterSpec spec;
+                if (i >= 0) {
+                    spec = TestUtils.buildUpon(goodSpec.setKeySize(i)).build();
+                } else {
+                    try {
+                        spec = TestUtils.buildUpon(goodSpec.setKeySize(i)).build();
+                        fail();
+                    } catch (IllegalArgumentException expected) {
+                        continue;
+                    }
+                }
+                rng.resetCounters();
+                if (TestUtils.contains(AES_SUPPORTED_KEY_SIZES, i)) {
+                    keyGenerator.init(spec, rng);
+                    SecretKey key = keyGenerator.generateKey();
+                    assertEquals(i, TestUtils.getKeyInfo(key).getKeySize());
+                    assertEquals((i + 7) / 8, rng.getOutputSizeBytes());
+                } else {
+                    try {
+                        keyGenerator.init(spec, rng);
+                        fail();
+                    } catch (InvalidAlgorithmParameterException expected) {}
+                    assertEquals(0, rng.getOutputSizeBytes());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key size " + i, e);
+            }
+        }
+    }
+
+    public void testHmacKeySupportedSizes() throws Exception {
+        CountingSecureRandom rng = new CountingSecureRandom();
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (!TestUtils.isHmacAlgorithm(algorithm)) {
+                continue;
+            }
+
+            for (int i = -16; i <= 1024; i++) {
+                try {
+                    rng.resetCounters();
+                    KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                    KeyGenParameterSpec spec;
+                    if (i >= 0) {
+                        spec = getWorkingSpec().setKeySize(i).build();
+                    } else {
+                        try {
+                            spec = getWorkingSpec().setKeySize(i).build();
+                            fail();
+                        } catch (IllegalArgumentException expected) {
+                            continue;
+                        }
+                    }
+                    if ((i > 0) && ((i % 8 ) == 0)) {
+                        keyGenerator.init(spec, rng);
+                        SecretKey key = keyGenerator.generateKey();
+                        assertEquals(i, TestUtils.getKeyInfo(key).getKeySize());
+                        assertEquals((i + 7) / 8, rng.getOutputSizeBytes());
+                    } else {
+                        try {
+                            keyGenerator.init(spec, rng);
+                            fail();
+                        } catch (InvalidAlgorithmParameterException expected) {}
+                        assertEquals(0, rng.getOutputSizeBytes());
+                    }
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key size " + i, e);
+                }
+            }
+        }
+    }
+
+    public void testHmacKeyOnlyOneDigestCanBeAuthorized() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (!TestUtils.isHmacAlgorithm(algorithm)) {
+                continue;
+            }
+
+            try {
+                String digest = TestUtils.getHmacAlgorithmDigest(algorithm);
+                assertNotNull(digest);
+
+                KeyGenParameterSpec.Builder goodSpec = new KeyGenParameterSpec.Builder(
+                        "test1", KeyProperties.PURPOSE_SIGN);
+
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+
+                // Digests authorization not specified in algorithm parameters
+                assertFalse(goodSpec.build().isDigestsSpecified());
+                keyGenerator.init(goodSpec.build());
+                SecretKey key = keyGenerator.generateKey();
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(TestUtils.getKeyInfo(key).getDigests()), digest);
+
+                // The same digest is specified in algorithm parameters
+                keyGenerator.init(TestUtils.buildUpon(goodSpec).setDigests(digest).build());
+                key = keyGenerator.generateKey();
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(TestUtils.getKeyInfo(key).getDigests()), digest);
+
+                // No digests specified in algorithm parameters
+                try {
+                    keyGenerator.init(TestUtils.buildUpon(goodSpec).setDigests().build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+
+                // A different digest specified in algorithm parameters
+                String anotherDigest = "SHA-256".equalsIgnoreCase(digest) ? "SHA-384" : "SHA-256";
+                try {
+                    keyGenerator.init(TestUtils.buildUpon(goodSpec)
+                            .setDigests(anotherDigest)
+                            .build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+                try {
+                    keyGenerator.init(TestUtils.buildUpon(goodSpec)
+                            .setDigests(digest, anotherDigest)
+                            .build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownBlockModeFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init(getWorkingSpec().setBlockModes("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownEncryptionPaddingFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init(getWorkingSpec().setEncryptionPaddings("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithSignaturePaddingFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init(getWorkingSpec()
+                            .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
+                            .build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownDigestFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    String[] digests;
+                    if (TestUtils.isHmacAlgorithm(algorithm)) {
+                        // The digest from HMAC key algorithm must be specified in the list of
+                        // authorized digests (if the list if provided).
+                        digests = new String[] {algorithm, "weird"};
+                    } else {
+                        digests = new String[] {"weird"};
+                    }
+                    keyGenerator.init(getWorkingSpec().setDigests(digests).build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithKeyAlgorithmDigestMissingFromAuthorizedDigestFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            if (!TestUtils.isHmacAlgorithm(algorithm)) {
+                continue;
+            }
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+
+                // Authorized for digest(s) none of which is the one implied by key algorithm.
+                try {
+                    String digest = TestUtils.getHmacAlgorithmDigest(algorithm);
+                    String anotherDigest = KeyProperties.DIGEST_SHA256.equalsIgnoreCase(digest)
+                            ? KeyProperties.DIGEST_SHA512 : KeyProperties.DIGEST_SHA256;
+                    keyGenerator.init(getWorkingSpec().setDigests(anotherDigest).build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+
+                // Authorized for empty set of digests
+                try {
+                    keyGenerator.init(getWorkingSpec().setDigests().build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitRandomizedEncryptionRequiredButViolatedFails() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                try {
+                    keyGenerator.init(getWorkingSpec(
+                            KeyProperties.PURPOSE_ENCRYPT)
+                            .setBlockModes(KeyProperties.BLOCK_MODE_ECB)
+                            .build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGenerateHonorsRequestedAuthorizations() throws Exception {
+        Date keyValidityStart = new Date(System.currentTimeMillis() - TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForOriginationEnd =
+                new Date(System.currentTimeMillis() + TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForConsumptionEnd =
+                new Date(System.currentTimeMillis() + 3 * TestUtils.DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                String[] blockModes =
+                        new String[] {KeyProperties.BLOCK_MODE_GCM, KeyProperties.BLOCK_MODE_CBC};
+                String[] encryptionPaddings =
+                        new String[] {KeyProperties.ENCRYPTION_PADDING_PKCS7,
+                                KeyProperties.ENCRYPTION_PADDING_NONE};
+                String[] digests;
+                int purposes;
+                if (TestUtils.isHmacAlgorithm(algorithm)) {
+                    // HMAC key can only be authorized for one digest, the one implied by the key's
+                    // JCA algorithm name.
+                    digests = new String[] {TestUtils.getHmacAlgorithmDigest(algorithm)};
+                    purposes = KeyProperties.PURPOSE_SIGN;
+                } else {
+                    digests = new String[] {KeyProperties.DIGEST_SHA384, KeyProperties.DIGEST_SHA1};
+                    purposes = KeyProperties.PURPOSE_DECRYPT;
+                }
+                KeyGenerator keyGenerator = getKeyGenerator(algorithm);
+                keyGenerator.init(getWorkingSpec(purposes)
+                        .setBlockModes(blockModes)
+                        .setEncryptionPaddings(encryptionPaddings)
+                        .setDigests(digests)
+                        .setKeyValidityStart(keyValidityStart)
+                        .setKeyValidityForOriginationEnd(keyValidityForOriginationEnd)
+                        .setKeyValidityForConsumptionEnd(keyValidityForConsumptionEnd)
+                        .build());
+                SecretKey key = keyGenerator.generateKey();
+                assertEquals(algorithm, key.getAlgorithm());
+
+                KeyInfo keyInfo = TestUtils.getKeyInfo(key);
+                assertEquals(purposes, keyInfo.getPurposes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(blockModes), keyInfo.getBlockModes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(encryptionPaddings), keyInfo.getEncryptionPaddings());
+                TestUtils.assertContentsInAnyOrder(Arrays.asList(digests), keyInfo.getDigests());
+                MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                assertEquals(keyValidityStart, keyInfo.getKeyValidityStart());
+                assertEquals(keyValidityForOriginationEnd,
+                        keyInfo.getKeyValidityForOriginationEnd());
+                assertEquals(keyValidityForConsumptionEnd,
+                        keyInfo.getKeyValidityForConsumptionEnd());
+                assertFalse(keyInfo.isUserAuthenticationRequired());
+                assertFalse(keyInfo.isUserAuthenticationRequirementEnforcedBySecureHardware());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    private static KeyGenParameterSpec.Builder getWorkingSpec() {
+        return getWorkingSpec(0);
+    }
+
+    private static KeyGenParameterSpec.Builder getWorkingSpec(int purposes) {
+        return new KeyGenParameterSpec.Builder("test1", purposes);
+    }
+
+    private static KeyGenerator getKeyGenerator(String algorithm) throws NoSuchAlgorithmException,
+            NoSuchProviderException {
+        return KeyGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorTest.java b/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorTest.java
index e3540b4..1621a96 100644
--- a/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/KeyPairGeneratorTest.java
@@ -34,7 +34,10 @@
 import java.security.NoSuchProviderException;
 import java.security.Principal;
 import java.security.PrivateKey;
+import java.security.Provider;
 import java.security.SecureRandom;
+import java.security.Security;
+import java.security.Provider.Service;
 import java.security.cert.Certificate;
 import java.security.cert.X509Certificate;
 import java.security.interfaces.ECKey;
@@ -48,7 +51,12 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
 import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -99,6 +107,20 @@
     private static final Date DEFAULT_CERT_NOT_BEFORE = new Date(0L); // Jan 1 1970
     private static final Date DEFAULT_CERT_NOT_AFTER = new Date(2461449600000L); // Jan 1 2048
 
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_PROVIDER_NAME;
+
+    private static final String[] EXPECTED_ALGORITHMS = {
+        "EC",
+        "RSA",
+    };
+
+    private static final Map<String, Integer> DEFAULT_KEY_SIZES =
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
+    static {
+        DEFAULT_KEY_SIZES.put("EC", 256);
+        DEFAULT_KEY_SIZES.put("RSA", 2048);
+    }
+
     @Override
     protected void setUp() throws Exception {
         super.setUp();
@@ -107,6 +129,29 @@
         mKeyStore.load(null, null);
     }
 
+    public void testAlgorithmList() {
+        // Assert that Android Keystore Provider exposes exactly the expected KeyPairGenerator
+        // algorithms. We don't care whether the algorithms are exposed via aliases, as long as
+        // canonical names of algorithms are accepted. If the Provider exposes extraneous
+        // algorithms, it'll be caught because it'll have to expose at least one Service for such an
+        // algorithm, and this Service's algorithm will not be in the expected set.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        Set<Service> services = provider.getServices();
+        Set<String> actualAlgsLowerCase = new HashSet<String>();
+        Set<String> expectedAlgsLowerCase = new HashSet<String>(
+                Arrays.asList(TestUtils.toLowerCase(EXPECTED_ALGORITHMS)));
+        for (Service service : services) {
+            if ("KeyPairGenerator".equalsIgnoreCase(service.getType())) {
+                String algLowerCase = service.getAlgorithm().toLowerCase(Locale.US);
+                actualAlgsLowerCase.add(algLowerCase);
+            }
+        }
+
+        TestUtils.assertContentsInAnyOrder(actualAlgsLowerCase,
+                expectedAlgsLowerCase.toArray(new String[0]));
+    }
+
     public void testInitialize_LegacySpec() throws Exception {
         @SuppressWarnings("deprecation")
         KeyPairGeneratorSpec spec = new KeyPairGeneratorSpec.Builder(getContext())
@@ -164,6 +209,154 @@
         }
     }
 
+    public void testDefaultKeySize() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                int expectedSizeBits = DEFAULT_KEY_SIZES.get(algorithm);
+                KeyPairGenerator generator = getGenerator(algorithm);
+                generator.initialize(getWorkingSpec().build());
+                KeyPair keyPair = generator.generateKeyPair();
+                assertEquals(expectedSizeBits,
+                        TestUtils.getKeyInfo(keyPair.getPrivate()).getKeySize());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownBlockModeFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator generator = getGenerator(algorithm);
+                try {
+                    generator.initialize(getWorkingSpec().setBlockModes("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownEncryptionPaddingFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator generator = getGenerator(algorithm);
+                try {
+                    generator.initialize(getWorkingSpec().setEncryptionPaddings("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownSignaturePaddingFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator generator = getGenerator(algorithm);
+                try {
+                    generator.initialize(getWorkingSpec().setSignaturePaddings("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitWithUnknownDigestFails() {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator generator = getGenerator(algorithm);
+                try {
+                    generator.initialize(getWorkingSpec().setDigests("weird").build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitRandomizedEncryptionRequiredButViolatedFails() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyPairGenerator generator = getGenerator(algorithm);
+                try {
+                    generator.initialize(getWorkingSpec(
+                            KeyProperties.PURPOSE_ENCRYPT)
+                            .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
+                            .build());
+                    fail();
+                } catch (InvalidAlgorithmParameterException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGenerateHonorsRequestedAuthorizations() throws Exception {
+        Date keyValidityStart = new Date(System.currentTimeMillis() - TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForOriginationEnd =
+                new Date(System.currentTimeMillis() + TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForConsumptionEnd =
+                new Date(System.currentTimeMillis() + 3 * TestUtils.DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                String[] blockModes =
+                        new String[] {KeyProperties.BLOCK_MODE_GCM, KeyProperties.BLOCK_MODE_CBC};
+                String[] encryptionPaddings =
+                        new String[] {KeyProperties.ENCRYPTION_PADDING_RSA_OAEP,
+                                KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1};
+                String[] digests =
+                        new String[] {KeyProperties.DIGEST_SHA256, KeyProperties.DIGEST_SHA1};
+                int purposes = KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_ENCRYPT;
+                KeyPairGenerator generator = getGenerator(algorithm);
+                generator.initialize(getWorkingSpec(purposes)
+                        .setBlockModes(blockModes)
+                        .setEncryptionPaddings(encryptionPaddings)
+                        .setDigests(digests)
+                        .setKeyValidityStart(keyValidityStart)
+                        .setKeyValidityForOriginationEnd(keyValidityForOriginationEnd)
+                        .setKeyValidityForConsumptionEnd(keyValidityForConsumptionEnd)
+                        .build());
+                KeyPair keyPair = generator.generateKeyPair();
+                assertEquals(algorithm, keyPair.getPrivate().getAlgorithm());
+
+                KeyInfo keyInfo = TestUtils.getKeyInfo(keyPair.getPrivate());
+                assertEquals(purposes, keyInfo.getPurposes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(blockModes), keyInfo.getBlockModes());
+                List<String> encryptionPaddingsList =
+                        new ArrayList<String>(Arrays.asList(encryptionPaddings));
+                if (keyInfo.getEncryptionPaddings().length > encryptionPaddingsList.size()) {
+                    // Keystore may have added ENCRYPTION_PADDING_NONE to allow software OAEP
+                    encryptionPaddingsList.add(KeyProperties.ENCRYPTION_PADDING_NONE);
+                }
+                TestUtils.assertContentsInAnyOrder(
+                        encryptionPaddingsList, keyInfo.getEncryptionPaddings());
+                List<String> digestsList = new ArrayList<String>(Arrays.asList(digests));
+                if (keyInfo.getDigests().length > digestsList.size()) {
+                    // Keystore may have added DIGEST_NONE, to allow software digesting.
+                    digestsList.add(KeyProperties.DIGEST_NONE);
+                }
+                TestUtils.assertContentsInAnyOrder(digestsList, keyInfo.getDigests());
+                MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                assertEquals(keyValidityStart, keyInfo.getKeyValidityStart());
+                assertEquals(keyValidityForOriginationEnd,
+                        keyInfo.getKeyValidityForOriginationEnd());
+                assertEquals(keyValidityForConsumptionEnd,
+                        keyInfo.getKeyValidityForConsumptionEnd());
+                assertFalse(keyInfo.isUserAuthenticationRequired());
+                assertFalse(keyInfo.isUserAuthenticationRequirementEnforcedBySecureHardware());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
     @SuppressWarnings("deprecation")
     public void testGenerate_EC_LegacySpec() throws Exception {
         // There are three legacy ways to generate an EC key pair using Android Keystore
@@ -211,7 +404,12 @@
         assertEquals(null, keyInfo.getKeyValidityForConsumptionEnd());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
+                KeyProperties.DIGEST_NONE,
+                KeyProperties.DIGEST_SHA1,
+                KeyProperties.DIGEST_SHA224,
+                KeyProperties.DIGEST_SHA256,
+                KeyProperties.DIGEST_SHA384,
+                KeyProperties.DIGEST_SHA512);
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getEncryptionPaddings()));
 
@@ -253,7 +451,12 @@
         assertEquals(null, keyInfo.getKeyValidityForConsumptionEnd());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
+                KeyProperties.DIGEST_NONE,
+                KeyProperties.DIGEST_SHA1,
+                KeyProperties.DIGEST_SHA224,
+                KeyProperties.DIGEST_SHA256,
+                KeyProperties.DIGEST_SHA384,
+                KeyProperties.DIGEST_SHA512);
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getEncryptionPaddings()));
 
@@ -294,7 +497,12 @@
         assertEquals(null, keyInfo.getKeyValidityForConsumptionEnd());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
+                KeyProperties.DIGEST_NONE,
+                KeyProperties.DIGEST_SHA1,
+                KeyProperties.DIGEST_SHA224,
+                KeyProperties.DIGEST_SHA256,
+                KeyProperties.DIGEST_SHA384,
+                KeyProperties.DIGEST_SHA512);
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getEncryptionPaddings()));
     }
@@ -337,10 +545,20 @@
         assertEquals(null, keyInfo.getKeyValidityForConsumptionEnd());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
+                KeyProperties.DIGEST_NONE,
+                KeyProperties.DIGEST_MD5,
+                KeyProperties.DIGEST_SHA1,
+                KeyProperties.DIGEST_SHA224,
+                KeyProperties.DIGEST_SHA256,
+                KeyProperties.DIGEST_SHA384,
+                KeyProperties.DIGEST_SHA512);
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getEncryptionPaddings()),
-                KeyProperties.ENCRYPTION_PADDING_NONE);
-        MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                KeyProperties.ENCRYPTION_PADDING_NONE,
+                KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1,
+                KeyProperties.ENCRYPTION_PADDING_RSA_OAEP);
+        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getSignaturePaddings()),
+                KeyProperties.SIGNATURE_PADDING_RSA_PSS,
+                KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
     }
 
     public void testGenerate_ReplacesOldEntryWithSameAlias()
@@ -585,8 +803,14 @@
         assertEquals(keyValidityEndDateForOrigination, keyInfo.getKeyValidityForOriginationEnd());
         assertEquals(keyValidityEndDateForConsumption, keyInfo.getKeyValidityForConsumptionEnd());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
-        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_SHA384, KeyProperties.DIGEST_SHA512);
+        List<String> digestsList = Arrays.asList(keyInfo.getDigests());
+        assertTrue(digestsList.contains(KeyProperties.DIGEST_SHA384));
+        assertTrue(digestsList.contains(KeyProperties.DIGEST_SHA512));
+        if (digestsList.size() > 2) {
+            // Keystore may have added DIGEST_NONE, to allow software digesting.
+            assertTrue(digestsList.size() == 3);
+            assertTrue(digestsList.contains(KeyProperties.DIGEST_NONE));
+        }
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getEncryptionPaddings()));
         assertFalse(keyInfo.isUserAuthenticationRequired());
@@ -648,16 +872,22 @@
         assertEquals(keyValidityStart, keyInfo.getKeyValidityStart());
         assertEquals(keyValidityEndDateForOrigination, keyInfo.getKeyValidityForOriginationEnd());
         assertEquals(keyValidityEndDateForConsumption, keyInfo.getKeyValidityForConsumptionEnd());
-        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_SHA384, KeyProperties.DIGEST_SHA512);
-        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getSignaturePaddings()),
-                KeyProperties.SIGNATURE_PADDING_RSA_PKCS1,
-                KeyProperties.SIGNATURE_PADDING_RSA_PSS);
+        List<String> digestsList = Arrays.asList(keyInfo.getDigests());
+        assertTrue(digestsList.contains(KeyProperties.DIGEST_SHA384));
+        assertTrue(digestsList.contains(KeyProperties.DIGEST_SHA512));
+        if (digestsList.size() > 2) {
+            // Keystore may have added DIGEST_NONE, to allow software digesting.
+            assertTrue(digestsList.size() == 3);
+            assertTrue(digestsList.contains(KeyProperties.DIGEST_NONE));
+        }
+        List<String> signaturePaddingsList = Arrays.asList(keyInfo.getSignaturePaddings());
+        assertTrue(signaturePaddingsList.contains(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1));
+        assertTrue(signaturePaddingsList.contains(KeyProperties.SIGNATURE_PADDING_RSA_PSS));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getBlockModes()),
                 KeyProperties.BLOCK_MODE_ECB);
-        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getEncryptionPaddings()),
-                KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1,
-                KeyProperties.ENCRYPTION_PADDING_RSA_OAEP);
+        List<String> encryptionPaddingsList = Arrays.asList(keyInfo.getEncryptionPaddings());
+        assertTrue(encryptionPaddingsList.contains(KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1));
+        assertTrue(encryptionPaddingsList.contains(KeyProperties.ENCRYPTION_PADDING_RSA_OAEP));
         assertFalse(keyInfo.isUserAuthenticationRequired());
         assertEquals(-1, keyInfo.getUserAuthenticationValidityDurationSeconds());
     }
@@ -667,7 +897,7 @@
         generator.initialize(new KeyGenParameterSpec.Builder(
                 TEST_ALIAS_1,
                 KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
-                .setDigests(KeyProperties.DIGEST_NONE)
+                .setDigests(KeyProperties.DIGEST_NONE, KeyProperties.DIGEST_SHA384)
                 .build());
         KeyPair keyPair = generator.generateKeyPair();
         assertGeneratedKeyPairAndSelfSignedCertificate(
@@ -682,7 +912,7 @@
         KeyInfo keyInfo = TestUtils.getKeyInfo(keyPair.getPrivate());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
+                KeyProperties.DIGEST_NONE, KeyProperties.DIGEST_SHA384);
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getEncryptionPaddings()));
         assertSelfSignedCertificateSignatureVerifies(TEST_ALIAS_1);
@@ -696,8 +926,13 @@
                 KeyProperties.PURPOSE_SIGN
                         | KeyProperties.PURPOSE_VERIFY
                         | KeyProperties.PURPOSE_DECRYPT)
-                .setDigests(KeyProperties.DIGEST_NONE)
-                .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
+                .setDigests(KeyProperties.DIGEST_NONE,
+                        KeyProperties.DIGEST_SHA256,
+                        KeyProperties.DIGEST_SHA512)
+                .setEncryptionPaddings(
+                        KeyProperties.ENCRYPTION_PADDING_NONE,
+                        KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1)
+                .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
                 .build());
         KeyPair keyPair = generator.generateKeyPair();
         assertGeneratedKeyPairAndSelfSignedCertificate(
@@ -712,10 +947,14 @@
         KeyInfo keyInfo = TestUtils.getKeyInfo(keyPair.getPrivate());
         MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getBlockModes()));
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getDigests()),
-                KeyProperties.DIGEST_NONE);
-        MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                KeyProperties.DIGEST_NONE,
+                KeyProperties.DIGEST_SHA256,
+                KeyProperties.DIGEST_SHA512);
+        MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getSignaturePaddings()),
+                KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
         MoreAsserts.assertContentsInAnyOrder(Arrays.asList(keyInfo.getEncryptionPaddings()),
-                KeyProperties.ENCRYPTION_PADDING_NONE);
+                KeyProperties.ENCRYPTION_PADDING_NONE,
+                KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1);
         assertSelfSignedCertificateSignatureVerifies(TEST_ALIAS_1);
         assertKeyPairAndCertificateUsableForTLSPeerAuthentication(TEST_ALIAS_1);
     }
@@ -1258,4 +1497,12 @@
                 + "Expected one of " + Arrays.asList(expected)
                 + ", actual: <" + actual + ">");
     }
+
+    private KeyGenParameterSpec.Builder getWorkingSpec() {
+        return getWorkingSpec(0);
+    }
+
+    private KeyGenParameterSpec.Builder getWorkingSpec(int purposes) {
+        return new KeyGenParameterSpec.Builder(TEST_ALIAS_1, purposes);
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/MacTest.java b/tests/tests/keystore/src/android/keystore/cts/MacTest.java
index d654e3a..c41dcda 100644
--- a/tests/tests/keystore/src/android/keystore/cts/MacTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/MacTest.java
@@ -26,6 +26,7 @@
 import java.security.Provider.Service;
 import java.security.Security;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Date;
 import java.util.HashSet;
 import java.util.Locale;
@@ -37,6 +38,9 @@
 import javax.crypto.SecretKey;
 import javax.crypto.spec.SecretKeySpec;
 
+/**
+ * Tests for algorithm-agnostic functionality of MAC implementations backed by Android Keystore.
+ */
 public class MacTest extends TestCase {
 
     private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_CRYPTO_OP_PROVIDER_NAME;
@@ -55,22 +59,103 @@
 
     private static final byte[] SHORT_MSG_KAT_MESSAGE = HexEncoding.decode("a16037e3c901c9a1ab");
 
-    private static final Map<String, byte[]> SHORT_MSG_KAT_MACS =
-            new TreeMap<String, byte[]>(String.CASE_INSENSITIVE_ORDER);
+    private static final Map<String, Collection<KatVector>> SHORT_MSG_KAT_MACS =
+            new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
     static {
         // From RI
-        SHORT_MSG_KAT_MACS.put("HmacSHA1", HexEncoding.decode(
-                "47d5677267f0efe1f7416bf504b210765674ef50"));
-        SHORT_MSG_KAT_MACS.put("HmacSHA224", HexEncoding.decode(
-                "03a8bbcd05e7166bff5b0b2368709a0c61c0b9d94f1b4d65c0e04948"));
-        SHORT_MSG_KAT_MACS.put("HmacSHA256", HexEncoding.decode(
-                "17feed3de0b2d53b69b228c2d9d26e9d57b314c50d36662596777f49445df729"));
-        SHORT_MSG_KAT_MACS.put("HmacSHA384", HexEncoding.decode(
-                "26e034c6696d28722ffc446ff0994f835e616cc704517d283a29648aee1eca5569c792ada8a176cdc7"
-                + "813a87437e4ea0"));
-        SHORT_MSG_KAT_MACS.put("HmacSHA512", HexEncoding.decode(
-                "15cff189d754d6612bd18d157c8e59ac2ecd9a4b97b2ef343b7778130f7741795d5d2dc2b7addb9a36"
-                + "7677ad57833b42bfa0733f49b57afd6bc32cddc0dcebec"));
+        SHORT_MSG_KAT_MACS.put("HmacSHA1", Arrays.asList(
+                new KatVector(HexEncoding.decode("4818c5466a1d05bc8f6ad4"),
+                        HexEncoding.decode("aa178e4d174dc90d1ac3d22386c32d1af82396e7")),
+                new KatVector(HexEncoding.decode("8d07f59f63fc493711a2217d8603cbc4d9874c58"),
+                        HexEncoding.decode("002215de36f8836e966ff459af80c4b31fe0ca27")),
+                new KatVector(HexEncoding.decode("f85f1c94023968729e3b4a7f495bf31c283b710662"),
+                        HexEncoding.decode("f518db3015203606ea15145ad16b3d981db32a77"))));
+        SHORT_MSG_KAT_MACS.put("HmacSHA224", Arrays.asList(
+                new KatVector(
+                        HexEncoding.decode(
+                                "ed959815cc03f01e19ce93c1a3318ae87a905b7c27351d571ee858"),
+                        HexEncoding.decode(
+                                "abece4641458461f8b6a46f7daa61fc6119344c5c4bb5e7967da0e3e")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "9150e1ad6a9d12370a2423a5d95e9bc2dd73b4ee9bc96b03c9cc2fba"),
+                        HexEncoding.decode(
+                                "523aa06730d1abe7da2ba94a966cd20db56c771f1899e2850c31158c")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "424d5e7375c2040543f76b97451b1c074ee93b81ad24cef23800ebfe529a74ee2b"
+                                ),
+                        HexEncoding.decode(
+                                "7627a86d829f45e3295a25813219ed5291f80029b972192d32a845c3"))));
+        SHORT_MSG_KAT_MACS.put("HmacSHA256", Arrays.asList(
+                new KatVector(
+                        HexEncoding.decode(
+                                "74a7ec4c79419d76fa5d3bdbedc17e5bebf0ee011c609b9f4c9126091613"),
+                        HexEncoding.decode(
+                                "c17b62519155b0d7f005f465becf9a1610635ae46a2c4d2b255851f201689ba5"
+                                )),
+                new KatVector(
+                        HexEncoding.decode(
+                                "42b44e6a1600bed10ca6c6dc24df2871790f948e73f9457fa4889c340cf69496"),
+                        HexEncoding.decode(
+                                "e9082a5db98c8086ad306ac23a1da9478eb5733757af6b1148d25fa1459290de")
+                                ),
+                new KatVector(
+                        HexEncoding.decode(
+                                "20bfc407c62022fea95f046f8ade6ee4b232665a9e97f75d3e35f1a9447991651a"
+                                        ),
+                        HexEncoding.decode(
+                                "dbf10ca8c362aa665562065e76e42beb19444f61ab0828438714c82779b71a0d"
+                                ))));
+        SHORT_MSG_KAT_MACS.put("HmacSHA384", Arrays.asList(
+                new KatVector(
+                        HexEncoding.decode(
+                                "7d277b2ec95fca68fe6ce0b665b28b48e128762714c66ca2c3405b432f6ab835e3"
+                                ),
+                        HexEncoding.decode(
+                                "bf8555816d8fa058e1d0ed4be23abda522adfae629b6a8819dcc2416d00507782a"
+                                        + "c714fdbfc7a340da4e6cf646a619f1")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "7b30abe948ceab9d94965f274fd2a21c966aa9bdf06476f94a0bcc6c20fd5d2bdc"
+                                        + "e21af7c6fdf6017bce342a701f55c3"),
+                        HexEncoding.decode(
+                                "0fe51798528407119a5884f65ad76409983e978e25ab8f82aa412c08e76c8065d2"
+                                        + "6dfdb1935de49036fb24262a532a29")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "26f232a40ada35850a14edf8f23c9ca97898ac0fa18640e5a7835230fa68f630b1"
+                                        + "c4579bc059c318bb2c5da609db13f1567fa175a6439e1d729713d1fa"
+                                        + "1039a3db"),
+                        HexEncoding.decode(
+                                "a086c610a382c24bb05e8bdd12cffc01055ec98a8f071239360cf8135205ffee33"
+                                        + "2da2134bed2ec3efde8bf145d1d257"))));
+        SHORT_MSG_KAT_MACS.put("HmacSHA512", Arrays.asList(
+                new KatVector(
+                        HexEncoding.decode(
+                                "46fb12ef48d4e8162f0828a66c9f7124de"),
+                        HexEncoding.decode(
+                                "036320b51376f5840b03fdababac53c189d4d6b35f26f562a909f8ecac4a02c244"
+                                        + "bfddc8f4eb89e0d0909fd2d8a46b796175e619cff215a675ce309540"
+                                        + "42b1c9")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "45b3f16b1a247dd76f72ab2d5019f87b94efeb9a2fc01da3ca347050302dbda9c1"
+                                        + "19cf991aaa30b747c808ec6bc19be7b5ae5e66176e38f222347a1659"
+                                        + "15d007"),
+                        HexEncoding.decode(
+                                "92817ce36858ccad20a903e15952565d241ebaa87e07655754470090f1c6b9252a"
+                                        + "cff9b873f36840fa8fdaaf91c6f9de3b82f46de0b1fdfa584eaf27de"
+                                        + "f52c65")),
+                new KatVector(
+                        HexEncoding.decode(
+                                "e91630c69c8c294755e27e5ccf01fe09e06de6c4e423c1c4ef0ac9b67f9af3cc6b"
+                                        + "bc6292d18cf6e76738888a948b49f9509b44eb3af6974ca7e61f5208"
+                                        + "b9f7dca3"),
+                        HexEncoding.decode(
+                                "6ff5616e9c38cef3d20076841c65b8747193eb8033ea61e8693715109e0e448966"
+                                        + "3d8abcb2b7cf0911e461202112819fb8650ba02bdce08aa0d24b3873"
+                                        + "30f18f"))));
     }
 
     private static final byte[] LONG_MSG_KAT_SEED = SHORT_MSG_KAT_MESSAGE;
@@ -95,7 +180,7 @@
     }
 
 
-    private static final long DAY_IN_MILLIS = 1000 * 60 * 60 * 24;
+    private static final long DAY_IN_MILLIS = TestUtils.DAY_IN_MILLIS;
 
     public void testAlgorithmList() {
         // Assert that Android Keystore Provider exposes exactly the expected MAC algorithms. We
@@ -122,72 +207,153 @@
     }
 
     public void testAndroidKeyStoreKeysHandledByAndroidKeyStoreProvider() throws Exception {
-        SecretKey key = importDefaultKatKey();
         Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
         assertNotNull(provider);
         for (String algorithm : EXPECTED_ALGORITHMS) {
             try {
+                SecretKey key = importDefaultKatKey(algorithm);
+
                 // Generate a MAC
                 Mac mac = Mac.getInstance(algorithm);
                 mac.init(key);
                 assertSame(provider, mac.getProvider());
-            } catch (Exception e) {
+            } catch (Throwable e) {
                 throw new RuntimeException(algorithm + " failed", e);
             }
         }
     }
 
-    public void testGeneratedSignatureVerifies() throws Exception {
-        SecretKey key = importDefaultKatKey();
-
+    public void testMacGeneratedForEmptyMessage() throws Exception {
         Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
         assertNotNull(provider);
         for (String algorithm : EXPECTED_ALGORITHMS) {
             try {
+                SecretKey key = importDefaultKatKey(algorithm);
+
                 // Generate a MAC
-                Mac mac = Mac.getInstance(algorithm);
+                Mac mac = Mac.getInstance(algorithm, provider);
+                mac.init(key);
+                byte[] macBytes = mac.doFinal();
+                assertNotNull(macBytes);
+                if (macBytes.length == 0) {
+                    fail("Empty MAC");
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException(algorithm + " failed", e);
+            }
+        }
+    }
+
+    public void testMacGeneratedByAndroidKeyStoreVerifiesByAndroidKeyStore() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKey key = importDefaultKatKey(algorithm);
+
+                // Generate a MAC
+                Mac mac = Mac.getInstance(algorithm, provider);
                 mac.init(key);
                 byte[] message = "This is a test".getBytes("UTF-8");
                 byte[] macBytes = mac.doFinal(message);
 
-                assertMacVerifiesOneShot(algorithm, key, message, macBytes);
-            } catch (Exception e) {
+                assertMacVerifiesOneShot(algorithm, provider, key, message, macBytes);
+            } catch (Throwable e) {
                 throw new RuntimeException(algorithm + " failed", e);
             }
         }
     }
 
+    public void testMacGeneratedByAndroidKeyStoreVerifiesByHighestPriorityProvider()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKey key = getDefaultKatKey(algorithm);
+                SecretKey keystoreKey = importDefaultKatKey(algorithm);
+
+                // Generate a MAC
+                Mac mac = Mac.getInstance(algorithm, provider);
+                mac.init(keystoreKey);
+                byte[] message = "This is a test".getBytes("UTF-8");
+                byte[] macBytes = mac.doFinal(message);
+
+                assertMacVerifiesOneShot(algorithm, key, message, macBytes);
+            } catch (Throwable e) {
+                throw new RuntimeException(algorithm + " failed", e);
+            }
+        }
+    }
+
+    public void testMacGeneratedByHighestPriorityProviderVerifiesByAndroidKeyStore()
+            throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            Provider signingProvider = null;
+            try {
+                SecretKey key = getDefaultKatKey(algorithm);
+                SecretKey keystoreKey = importDefaultKatKey(algorithm);
+
+                // Generate a MAC
+                Mac mac = Mac.getInstance(algorithm);
+                mac.init(key);
+                signingProvider = mac.getProvider();
+                byte[] message = "This is a test".getBytes("UTF-8");
+                byte[] macBytes = mac.doFinal(message);
+
+                assertMacVerifiesOneShot(
+                        algorithm, keystoreProvider, keystoreKey, message, macBytes);
+            } catch (Throwable e) {
+                throw new RuntimeException(
+                        algorithm + " failed, signing provider: " + signingProvider, e);
+            }
+        }
+    }
+
     public void testSmallMsgKat() throws Exception {
-        SecretKey key = importDefaultKatKey();
         byte[] message = SHORT_MSG_KAT_MESSAGE;
 
         for (String algorithm : EXPECTED_ALGORITHMS) {
-            try {
-                byte[] goodMacBytes = SHORT_MSG_KAT_MACS.get(algorithm);
-                assertNotNull(goodMacBytes);
-                assertMacVerifiesOneShot(algorithm, key, message, goodMacBytes);
-                assertMacVerifiesFedOneByteAtATime(algorithm, key, message, goodMacBytes);
-                assertMacVerifiesFedUsingFixedSizeChunks(algorithm, key, message, goodMacBytes, 3);
+            for (KatVector testVector : SHORT_MSG_KAT_MACS.get(algorithm)) {
+                byte[] keyBytes = testVector.key;
+                try {
+                    SecretKey key = TestUtils.importIntoAndroidKeyStore(
+                            "test",
+                            new SecretKeySpec(keyBytes, algorithm),
+                            getWorkingImportParams(algorithm)).getKeystoreBackedSecretKey();
 
-                byte[] messageWithBitFlip = message.clone();
-                messageWithBitFlip[messageWithBitFlip.length / 2] ^= 1;
-                assertMacDoesNotVerifyOneShot(algorithm, key, messageWithBitFlip, goodMacBytes);
+                    byte[] goodMacBytes = testVector.mac.clone();
+                    assertNotNull(goodMacBytes);
+                    assertMacVerifiesOneShot(algorithm, key, message, goodMacBytes);
+                    assertMacVerifiesFedOneByteAtATime(algorithm, key, message, goodMacBytes);
+                    assertMacVerifiesFedUsingFixedSizeChunks(
+                            algorithm, key, message, goodMacBytes, 3);
 
-                byte[] goodMacWithBitFlip = goodMacBytes.clone();
-                goodMacWithBitFlip[goodMacWithBitFlip.length / 2] ^= 1;
-                assertMacDoesNotVerifyOneShot(algorithm, key, message, goodMacWithBitFlip);
-            } catch (Throwable e) {
-                throw new RuntimeException("Failed for " + algorithm, e);
+                    byte[] messageWithBitFlip = message.clone();
+                    messageWithBitFlip[messageWithBitFlip.length / 2] ^= 1;
+                    assertMacDoesNotVerifyOneShot(algorithm, key, messageWithBitFlip, goodMacBytes);
+
+                    byte[] goodMacWithBitFlip = goodMacBytes.clone();
+                    goodMacWithBitFlip[goodMacWithBitFlip.length / 2] ^= 1;
+                    assertMacDoesNotVerifyOneShot(algorithm, key, message, goodMacWithBitFlip);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + algorithm + " with key " + HexEncoding.encode(keyBytes),
+                            e);
+                }
             }
         }
     }
 
     public void testLargeMsgKat() throws Exception {
-        SecretKey key = importDefaultKatKey();
         byte[] message = TestUtils.generateLargeKatMsg(LONG_MSG_KAT_SEED, LONG_MSG_KAT_SIZE_BYTES);
 
         for (String algorithm : EXPECTED_ALGORITHMS) {
             try {
+                SecretKey key = importDefaultKatKey(algorithm);
+
                 byte[] goodMacBytes = LONG_MSG_KAT_MACS.get(algorithm);
                 assertNotNull(goodMacBytes);
                 assertMacVerifiesOneShot(algorithm,  key, message, goodMacBytes);
@@ -202,44 +368,91 @@
     }
 
     public void testInitFailsWhenNotAuthorizedToSign() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN);
         int badPurposes = KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT
                 | KeyProperties.PURPOSE_VERIFY;
-        String algorithm = "HmacSHA512";
-        assertInitSucceeds(algorithm, algorithm, good.build());
-        assertInitThrowsInvalidKeyException(algorithm, algorithm,
-                TestUtils.buildUpon(good, badPurposes).build());
+
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = getWorkingImportParams(algorithm);
+                assertInitSucceeds(algorithm, good);
+                assertInitThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good, badPurposes).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitFailsWhenDigestNotAuthorized() throws Exception {
-        KeyProtection spec = new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN).build();
-        assertInitSucceeds("HmacSHA384", "HmacSHA384", spec);
-        assertInitThrowsInvalidKeyException("HmacSHA256", "HmacSHA384", spec);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = getWorkingImportParams(algorithm);
+                assertInitSucceeds(algorithm, good);
+
+                String badKeyAlgorithm = ("HmacSHA256".equalsIgnoreCase(algorithm))
+                        ? "HmacSHA384" : "HmacSHA256";
+                assertInitThrowsInvalidKeyException(algorithm, badKeyAlgorithm, good);
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitFailsWhenKeyNotYetValid() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setKeyValidityStart(new Date(System.currentTimeMillis() - DAY_IN_MILLIS));
-        String algorithm = "HmacSHA224";
-        assertInitSucceeds(algorithm, algorithm, good.build());
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.buildUpon(getWorkingImportParams(algorithm))
+                        .setKeyValidityStart(new Date(System.currentTimeMillis() - DAY_IN_MILLIS))
+                        .build();
+                assertInitSucceeds(algorithm, good);
 
-        Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
-        assertInitThrowsInvalidKeyException(algorithm, algorithm,
-                TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+                Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
+                assertInitThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
-    public void testInitFailsWhenKeyNoLongerValid() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setKeyValidityForOriginationEnd(
-                        new Date(System.currentTimeMillis() + DAY_IN_MILLIS));
-        String algorithm = "HmacSHA1";
-        assertInitSucceeds(algorithm, algorithm, good.build());
+    public void testInitFailsWhenKeyNoLongerValidForOrigination() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.buildUpon(getWorkingImportParams(algorithm))
+                        .setKeyValidityForOriginationEnd(
+                                new Date(System.currentTimeMillis() + DAY_IN_MILLIS))
+                        .build();
+                assertInitSucceeds(algorithm, good);
 
-        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
-        assertInitThrowsInvalidKeyException(algorithm, algorithm,
-                TestUtils.buildUpon(good).setKeyValidityForOriginationEnd(badEndDate).build());
+                Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+                assertInitThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitIgnoresThatKeyNoLongerValidForConsumption() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyProtection good = TestUtils.buildUpon(getWorkingImportParams(algorithm))
+                        .setKeyValidityForConsumptionEnd(
+                                new Date(System.currentTimeMillis() + DAY_IN_MILLIS))
+                        .build();
+                assertInitSucceeds(algorithm, good);
+
+                Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+                assertInitSucceeds(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     private void assertMacVerifiesOneShot(
@@ -247,7 +460,17 @@
             SecretKey key,
             byte[] message,
             byte[] mac) throws Exception {
-        Mac m = Mac.getInstance(algorithm);
+        assertMacVerifiesOneShot(algorithm, null, key, message, mac);
+    }
+
+    private void assertMacVerifiesOneShot(
+            String algorithm,
+            Provider provider,
+            SecretKey key,
+            byte[] message,
+            byte[] mac) throws Exception {
+        Mac m = (provider != null)
+                ? Mac.getInstance(algorithm, provider) : Mac.getInstance(algorithm);
         m.init(key);
         byte[] mac2 = m.doFinal(message);
         if (!Arrays.equals(mac, mac2)) {
@@ -273,7 +496,6 @@
         }
     }
 
-
     private void assertMacVerifiesFedOneByteAtATime(
             String algorithm,
             SecretKey key,
@@ -318,6 +540,11 @@
         }
     }
 
+    private void assertInitSucceeds(String algorithm, KeyProtection keyProtection)
+            throws Exception {
+        assertInitSucceeds(algorithm, algorithm, keyProtection);
+    }
+
     private void assertInitSucceeds(
             String macAlgorithm, String keyAlgorithm, KeyProtection keyProtection)
                     throws Exception {
@@ -326,42 +553,53 @@
         mac.init(key);
     }
 
+    private void assertInitThrowsInvalidKeyException(String algorithm, KeyProtection keyProtection)
+                    throws Exception {
+        assertInitThrowsInvalidKeyException(algorithm, algorithm, keyProtection);
+    }
+
     private void assertInitThrowsInvalidKeyException(
             String macAlgorithm, String keyAlgorithm, KeyProtection keyProtection)
                     throws Exception {
-        assertInitThrowsInvalidKeyException(null, macAlgorithm, keyAlgorithm, keyProtection);
-    }
-
-
-    private void assertInitThrowsInvalidKeyException(
-            String message, String macAlgorithm, String keyAlgorithm,
-            KeyProtection keyProtection) throws Exception {
         SecretKey key = importDefaultKatKey(keyAlgorithm, keyProtection);
         Mac mac = Mac.getInstance(macAlgorithm);
         try {
             mac.init(key);
-            fail(message);
+            fail("InvalidKeyException should have been thrown. MAC algorithm: " + macAlgorithm
+                    + ", key algorithm: " + keyAlgorithm);
         } catch (InvalidKeyException expected) {}
     }
 
-    private SecretKey importDefaultKatKey() throws Exception {
-        return importDefaultKatKey("HmacSHA1",
-                new KeyProtection.Builder(
-                        KeyProperties.PURPOSE_SIGN)
-                        .setDigests(KeyProperties.DIGEST_NONE,
-                                KeyProperties.DIGEST_SHA1, // TODO: Remove these digests
-                                KeyProperties.DIGEST_SHA224,
-                                KeyProperties.DIGEST_SHA256,
-                                KeyProperties.DIGEST_SHA384,
-                                KeyProperties.DIGEST_SHA512)
-                        .build());
+    private SecretKey getDefaultKatKey(String keyAlgorithm) {
+        return new SecretKeySpec(KAT_KEY, keyAlgorithm);
+    }
+
+    private SecretKey importDefaultKatKey(String keyAlgorithm) throws Exception {
+        return importDefaultKatKey(
+                keyAlgorithm,
+                new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN).build());
     }
 
     private SecretKey importDefaultKatKey(
             String keyAlgorithm, KeyProtection keyProtection) throws Exception {
         return TestUtils.importIntoAndroidKeyStore(
                 "test1",
-                new SecretKeySpec(KAT_KEY, keyAlgorithm),
-                keyProtection);
+                getDefaultKatKey(keyAlgorithm),
+                keyProtection).getKeystoreBackedSecretKey();
+    }
+
+    private static KeyProtection getWorkingImportParams(
+            @SuppressWarnings("unused") String algorithm) {
+        return new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN).build();
+    }
+
+    private static class KatVector {
+        public byte[] key;
+        public byte[] mac;
+
+        public KatVector(byte[] key, byte[] mac) {
+            this.key = key;
+            this.mac = mac;
+        }
     }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/PutOverflowTest.java b/tests/tests/keystore/src/android/keystore/cts/PutOverflowTest.java
new file mode 100644
index 0000000..088af35
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/PutOverflowTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.test.AndroidTestCase;
+import java.lang.reflect.Method;
+
+public class PutOverflowTest extends AndroidTestCase {
+    public void testCrash() throws Exception {
+        try {
+            Class<?> keystoreClass = Class.forName("android.security.KeyStore");
+            Method getInstance = keystoreClass.getMethod("getInstance");
+            Method put = keystoreClass.getMethod("put",
+                    String.class, byte[].class, int.class, int.class);
+            Object keystore = getInstance.invoke(null);
+            byte[] buffer = new byte[65536];
+            Boolean result = (Boolean)put.invoke(keystore, "crashFile", buffer, -1, 0);
+            assertTrue("Fix for ANDROID-22802399 not present", result);
+        } catch (ReflectiveOperationException ignored) {
+            // Since this test requires reflection avoid causing undue failures if classes or
+            // methods were changed.
+        }
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/RSACipherTest.java b/tests/tests/keystore/src/android/keystore/cts/RSACipherTest.java
new file mode 100644
index 0000000..3403df3
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/RSACipherTest.java
@@ -0,0 +1,251 @@
+/*
+ * Copyright 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import java.math.BigInteger;
+import java.security.PrivateKey;
+import java.security.Provider;
+import java.security.PublicKey;
+import java.security.Security;
+import java.security.interfaces.RSAKey;
+
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+
+import android.security.keystore.KeyProperties;
+import android.test.AndroidTestCase;
+import android.test.MoreAsserts;
+
+public class RSACipherTest extends AndroidTestCase {
+
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_CRYPTO_OP_PROVIDER_NAME;
+
+    public void testNoPaddingEncryptionAndDecryptionSucceedsWithInputShorterThanModulus()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                PrivateKey privateKey = key.getKeystoreBackedKeyPair().getPrivate();
+                BigInteger modulus = ((RSAKey) publicKey).getModulus();
+                int modulusSizeBytes = (modulus.bitLength() + 7) / 8;
+
+                // 1-byte long input for which we know the output
+                byte[] input = new byte[] {1};
+                // Because of how RSA works, the output is 1 (left-padded with zero bytes).
+                byte[] expectedOutput = TestUtils.leftPadWithZeroBytes(input, modulusSizeBytes);
+
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", provider);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                MoreAsserts.assertEquals(expectedOutput, cipher.doFinal(input));
+
+                cipher.init(Cipher.DECRYPT_MODE, privateKey);
+                MoreAsserts.assertEquals(expectedOutput, cipher.doFinal(input));
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingEncryptionSucceedsWithPlaintextOneSmallerThanModulus()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                PrivateKey privateKey = key.getKeystoreBackedKeyPair().getPrivate();
+                BigInteger modulus = ((RSAKey) publicKey).getModulus();
+
+                // Plaintext is one smaller than the modulus
+                byte[] plaintext =
+                        TestUtils.getBigIntegerMagnitudeBytes(modulus.subtract(BigInteger.ONE));
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", provider);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                byte[] ciphertext = cipher.doFinal(plaintext);
+                cipher.init(Cipher.DECRYPT_MODE, privateKey);
+                MoreAsserts.assertEquals(plaintext, cipher.doFinal(ciphertext));
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingEncryptionFailsWithPlaintextEqualToModulus() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT ,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                BigInteger modulus = ((RSAKey) publicKey).getModulus();
+
+                // Plaintext is exactly the modulus
+                byte[] plaintext = TestUtils.getBigIntegerMagnitudeBytes(modulus);
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", provider);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                try {
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    fail("Unexpectedly produced ciphertext (" + ciphertext.length + " bytes): "
+                            + HexEncoding.encode(ciphertext));
+                } catch (BadPaddingException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingEncryptionFailsWithPlaintextOneLargerThanModulus() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                BigInteger modulus = ((RSAKey) publicKey).getModulus();
+
+                // Plaintext is one larger than the modulus
+                byte[] plaintext =
+                        TestUtils.getBigIntegerMagnitudeBytes(modulus.add(BigInteger.ONE));
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", provider);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                try {
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    fail("Unexpectedly produced ciphertext (" + ciphertext.length + " bytes): "
+                            + HexEncoding.encode(ciphertext));
+                } catch (BadPaddingException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingEncryptionFailsWithPlaintextOneByteLongerThanModulus()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                BigInteger modulus = ((RSAKey) publicKey).getModulus();
+
+                // Plaintext is one byte longer than the modulus. The message is filled with zeros
+                // (thus being 0 if treated as a BigInteger). This is on purpose, to check that the
+                // Cipher implementation rejects such long message without comparing it to the value
+                // of the modulus.
+                byte[] plaintext = new byte[((modulus.bitLength() + 7) / 8) + 1];
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", provider);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                try {
+                    byte[] ciphertext = cipher.doFinal(plaintext);
+                    fail("Unexpectedly produced ciphertext (" + ciphertext.length + " bytes): "
+                            + HexEncoding.encode(ciphertext));
+                } catch (IllegalBlockSizeException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingDecryptionFailsWithCiphertextOneByteLongerThanModulus()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_DECRYPT,
+                        false))) {
+            try {
+                PrivateKey privateKey = key.getKeystoreBackedKeyPair().getPrivate();
+                BigInteger modulus = ((RSAKey) privateKey).getModulus();
+
+                // Ciphertext is one byte longer than the modulus. The message is filled with zeros
+                // (thus being 0 if treated as a BigInteger). This is on purpose, to check that the
+                // Cipher implementation rejects such long message without comparing it to the value
+                // of the modulus.
+                byte[] ciphertext = new byte[((modulus.bitLength() + 7) / 8) + 1];
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", EXPECTED_PROVIDER_NAME);
+                cipher.init(Cipher.DECRYPT_MODE, privateKey);
+                try {
+                    byte[] plaintext = cipher.doFinal(ciphertext);
+                    fail("Unexpectedly produced plaintext (" + ciphertext.length + " bytes): "
+                            + HexEncoding.encode(plaintext));
+                } catch (IllegalBlockSizeException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+
+    public void testNoPaddingWithZeroMessage() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey key : RSASignatureTest.importKatKeyPairs(getContext(),
+                TestUtils.getMinimalWorkingImportParametersForCipheringWith(
+                        "RSA/ECB/NoPadding",
+                        KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT,
+                        false))) {
+            try {
+                PublicKey publicKey = key.getKeystoreBackedKeyPair().getPublic();
+                PrivateKey privateKey = key.getKeystoreBackedKeyPair().getPrivate();
+
+                byte[] plaintext = EmptyArray.BYTE;
+                Cipher cipher = Cipher.getInstance("RSA/ECB/NoPadding", EXPECTED_PROVIDER_NAME);
+                cipher.init(Cipher.ENCRYPT_MODE, publicKey);
+                byte[] ciphertext = cipher.doFinal(plaintext);
+                // Ciphertext should be all zero bytes
+                byte[] expectedCiphertext = new byte[(TestUtils.getKeySizeBits(publicKey) + 7) / 8];
+                MoreAsserts.assertEquals(expectedCiphertext, ciphertext);
+
+                cipher.init(Cipher.DECRYPT_MODE, privateKey);
+                // Decrypted plaintext should also be all zero bytes
+                byte[] expectedPlaintext = new byte[expectedCiphertext.length];
+                MoreAsserts.assertEquals(expectedPlaintext, cipher.doFinal(ciphertext));
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for key " + key.getAlias(), e);
+            }
+        }
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java b/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java
new file mode 100644
index 0000000..9ae3043
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/RSASignatureTest.java
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package android.keystore.cts;
+
+import java.security.InvalidKeyException;
+import java.security.KeyPair;
+import java.security.PrivateKey;
+import java.security.Provider;
+import java.security.PublicKey;
+import java.security.Security;
+import java.security.Signature;
+import java.security.SignatureException;
+import java.security.interfaces.RSAKey;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
+import com.android.cts.keystore.R;
+
+import android.content.Context;
+import android.security.keystore.KeyProperties;
+import android.security.keystore.KeyProtection;
+import android.test.AndroidTestCase;
+
+public class RSASignatureTest extends AndroidTestCase {
+
+    private static final String EXPECTED_PROVIDER_NAME = SignatureTest.EXPECTED_PROVIDER_NAME;
+
+    private static final String[] SIGNATURE_ALGORITHMS;
+
+    static {
+        List<String> sigAlgs = new ArrayList<>();
+        for (String algorithm : SignatureTest.EXPECTED_SIGNATURE_ALGORITHMS) {
+            String keyAlgorithm = TestUtils.getSignatureAlgorithmKeyAlgorithm(algorithm);
+            if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+                sigAlgs.add(algorithm);
+            }
+        }
+        SIGNATURE_ALGORITHMS = sigAlgs.toArray(new String[sigAlgs.size()]);
+    }
+
+    public void testMaxMessageSizeWhenNoDigestUsed() throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (ImportedKey keyPair : importKatKeyPairs("NONEwithRSA")) {
+            PublicKey publicKey = keyPair.getKeystoreBackedKeyPair().getPublic();
+            PrivateKey privateKey = keyPair.getKeystoreBackedKeyPair().getPrivate();
+            int modulusSizeBits = ((RSAKey) publicKey).getModulus().bitLength();
+            try {
+                int modulusSizeBytes = (modulusSizeBits + 7) / 8;
+                // PKCS#1 signature padding must be at least 11 bytes long (00 || 01 || PS || 00)
+                // where PS must be at least 8 bytes long).
+                int expectedMaxMessageSizeBytes = modulusSizeBytes - 11;
+                byte[] msg = new byte[expectedMaxMessageSizeBytes + 1];
+                Arrays.fill(msg, (byte) 0xf0);
+
+                // Assert that a message of expected maximum length is accepted
+                Signature signature = Signature.getInstance("NONEwithRSA", provider);
+                signature.initSign(privateKey);
+                signature.update(msg, 0, expectedMaxMessageSizeBytes);
+                byte[] sigBytes = signature.sign();
+
+                signature.initVerify(publicKey);
+                signature.update(msg, 0, expectedMaxMessageSizeBytes);
+                assertTrue(signature.verify(sigBytes));
+
+                // Assert that a message longer than expected maximum length is rejected
+                signature = Signature.getInstance(signature.getAlgorithm(), provider);
+                signature.initSign(privateKey);
+                try {
+                    signature.update(msg, 0, expectedMaxMessageSizeBytes + 1);
+                    signature.sign();
+                    fail();
+                } catch (SignatureException expected) {
+                }
+
+                signature.initVerify(publicKey);
+                try {
+                    signature.update(msg, 0, expectedMaxMessageSizeBytes + 1);
+                    signature.verify(sigBytes);
+                    fail();
+                } catch (SignatureException expected) {
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + modulusSizeBits + " bit key", e);
+            }
+        }
+    }
+
+    public void testSmallKeyRejected() throws Exception {
+        // Use a 512 bit key which should prevent the use of any digests larger than SHA-256
+        // because the padded form of the digested message will be larger than modulus size.
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        for (String algorithm : SIGNATURE_ALGORITHMS) {
+            try {
+                String digest = TestUtils.getSignatureAlgorithmDigest(algorithm);
+                if (KeyProperties.DIGEST_NONE.equalsIgnoreCase(digest)) {
+                    // Ignore signature algorithms without digest -- this is tested in a separate
+                    // test above.
+                    continue;
+                }
+                int digestOutputSizeBits = TestUtils.getDigestOutputSizeBits(digest);
+                if (digestOutputSizeBits <= 256) {
+                    // 256-bit and shorter digests are short enough to work with a 512 bit key.
+                    continue;
+                }
+
+                KeyPair keyPair = TestUtils.importIntoAndroidKeyStore("test1",
+                        getContext(),
+                        R.raw.rsa_key5_512_pkcs8,
+                        R.raw.rsa_key5_512_cert,
+                        TestUtils.getMinimalWorkingImportParametersForSigningingWith(algorithm))
+                        .getKeystoreBackedKeyPair();
+                assertEquals(512, ((RSAKey) keyPair.getPrivate()).getModulus().bitLength());
+                assertEquals(512, ((RSAKey) keyPair.getPublic()).getModulus().bitLength());
+
+                Signature signature = Signature.getInstance(algorithm, provider);
+                // Assert that either initSign or sign fails. We don't expect all keymaster
+                // implementations to fail early, during initSign.
+                try {
+                    signature.initSign(keyPair.getPrivate());
+                    signature.update("A message".getBytes("UTF-8"));
+                    byte[] sigBytes = signature.sign();
+                    fail("Unexpectedly generated a signature (" + sigBytes.length + " bytes): "
+                            + HexEncoding.encode(sigBytes));
+                } catch (InvalidKeyException | SignatureException expected) {
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    private Collection<ImportedKey> importKatKeyPairs(String signatureAlgorithm)
+            throws Exception {
+        KeyProtection params =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith(signatureAlgorithm);
+        return importKatKeyPairs(getContext(), params);
+    }
+
+    static Collection<ImportedKey> importKatKeyPairs(
+            Context context, KeyProtection importParams) throws Exception {
+        return Arrays.asList(new ImportedKey[] {
+                TestUtils.importIntoAndroidKeyStore("testRSA512", context,
+                        R.raw.rsa_key5_512_pkcs8, R.raw.rsa_key5_512_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testRSA768", context,
+                        R.raw.rsa_key6_768_pkcs8, R.raw.rsa_key6_768_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testRSA1024", context,
+                        R.raw.rsa_key3_1024_pkcs8, R.raw.rsa_key3_1024_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testRSA2024", context,
+                        R.raw.rsa_key8_2048_pkcs8, R.raw.rsa_key8_2048_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testRSA3072", context,
+                        R.raw.rsa_key7_3072_pksc8, R.raw.rsa_key7_3072_cert, importParams),
+                TestUtils.importIntoAndroidKeyStore("testRSA4096", context,
+                        R.raw.rsa_key4_4096_pkcs8, R.raw.rsa_key4_4096_cert, importParams),
+                });
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/SecretKeyFactoryTest.java b/tests/tests/keystore/src/android/keystore/cts/SecretKeyFactoryTest.java
new file mode 100644
index 0000000..17307f7
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/SecretKeyFactoryTest.java
@@ -0,0 +1,234 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyInfo;
+import android.security.keystore.KeyProperties;
+import android.test.MoreAsserts;
+
+import junit.framework.TestCase;
+
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.Security;
+import java.security.spec.InvalidKeySpecException;
+import java.security.Provider.Service;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
+import javax.crypto.KeyGenerator;
+import javax.crypto.SecretKey;
+import javax.crypto.SecretKeyFactory;
+import javax.crypto.spec.SecretKeySpec;
+
+public class SecretKeyFactoryTest extends TestCase {
+    private static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_PROVIDER_NAME;
+
+    private static final String[] EXPECTED_ALGORITHMS = {
+        "AES",
+        "HmacSHA1",
+        "HmacSHA224",
+        "HmacSHA256",
+        "HmacSHA384",
+        "HmacSHA512",
+    };
+
+    public void testAlgorithmList() {
+        // Assert that Android Keystore Provider exposes exactly the expected SecretKeyFactory
+        // algorithms. We don't care whether the algorithms are exposed via aliases, as long as
+        // canonical names of algorithms are accepted. If the Provider exposes extraneous
+        // algorithms, it'll be caught because it'll have to expose at least one Service for such an
+        // algorithm, and this Service's algorithm will not be in the expected set.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        Set<Service> services = provider.getServices();
+        Set<String> actualAlgsLowerCase = new HashSet<String>();
+        Set<String> expectedAlgsLowerCase = new HashSet<String>(
+                Arrays.asList(TestUtils.toLowerCase(EXPECTED_ALGORITHMS)));
+        for (Service service : services) {
+            if ("SecretKeyFactory".equalsIgnoreCase(service.getType())) {
+                String algLowerCase = service.getAlgorithm().toLowerCase(Locale.US);
+                actualAlgsLowerCase.add(algLowerCase);
+            }
+        }
+
+        TestUtils.assertContentsInAnyOrder(actualAlgsLowerCase,
+                expectedAlgsLowerCase.toArray(new String[0]));
+    }
+
+    public void testGetKeySpecWithKeystoreKeyAndKeyInfoReflectsAllAuthorizations()
+            throws Exception {
+        Date keyValidityStart = new Date(System.currentTimeMillis() - TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForOriginationEnd =
+                new Date(System.currentTimeMillis() + TestUtils.DAY_IN_MILLIS);
+        Date keyValidityForConsumptionEnd =
+                new Date(System.currentTimeMillis() + 3 * TestUtils.DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                String[] blockModes =
+                        new String[] {KeyProperties.BLOCK_MODE_CTR, KeyProperties.BLOCK_MODE_ECB};
+                String[] encryptionPaddings =
+                        new String[] {KeyProperties.ENCRYPTION_PADDING_PKCS7,
+                                KeyProperties.ENCRYPTION_PADDING_NONE};
+                String[] digests;
+                int purposes;
+                if (TestUtils.isHmacAlgorithm(algorithm)) {
+                    String digest = TestUtils.getHmacAlgorithmDigest(algorithm);
+                    digests = new String[] {digest};
+                    purposes = KeyProperties.PURPOSE_SIGN;
+                } else {
+                    digests = new String[] {KeyProperties.DIGEST_SHA384};
+                    purposes = KeyProperties.PURPOSE_DECRYPT;
+                }
+                KeyGenerator keyGenerator =
+                        KeyGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.init(new KeyGenParameterSpec.Builder("test1", purposes)
+                        .setBlockModes(blockModes)
+                        .setEncryptionPaddings(encryptionPaddings)
+                        .setDigests(digests)
+                        .setKeyValidityStart(keyValidityStart)
+                        .setKeyValidityForOriginationEnd(keyValidityForOriginationEnd)
+                        .setKeyValidityForConsumptionEnd(keyValidityForConsumptionEnd)
+                        .build());
+                SecretKey key = keyGenerator.generateKey();
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                KeyInfo keyInfo = (KeyInfo) keyFactory.getKeySpec(key, KeyInfo.class);
+                assertEquals("test1", keyInfo.getKeystoreAlias());
+                assertEquals(purposes, keyInfo.getPurposes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(blockModes), keyInfo.getBlockModes());
+                TestUtils.assertContentsInAnyOrder(
+                        Arrays.asList(encryptionPaddings), keyInfo.getEncryptionPaddings());
+                TestUtils.assertContentsInAnyOrder(Arrays.asList(digests), keyInfo.getDigests());
+                MoreAsserts.assertEmpty(Arrays.asList(keyInfo.getSignaturePaddings()));
+                assertEquals(keyValidityStart, keyInfo.getKeyValidityStart());
+                assertEquals(keyValidityForOriginationEnd,
+                        keyInfo.getKeyValidityForOriginationEnd());
+                assertEquals(keyValidityForConsumptionEnd,
+                        keyInfo.getKeyValidityForConsumptionEnd());
+                assertFalse(keyInfo.isUserAuthenticationRequired());
+                assertFalse(keyInfo.isUserAuthenticationRequirementEnforcedBySecureHardware());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyWithNullKeyThrowsInvalidKeyException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.translateKey(null);
+                    fail();
+                } catch (InvalidKeyException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyRejectsNonAndroidKeystoreKeys() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKey key = new SecretKeySpec(new byte[16], algorithm);
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.translateKey(key);
+                    fail();
+                } catch (InvalidKeyException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testTranslateKeyAcceptsAndroidKeystoreKeys() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator =
+                        KeyGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.init(new KeyGenParameterSpec.Builder("test1", 0).build());
+                SecretKey key = keyGenerator.generateKey();
+
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                assertSame(key, keyFactory.translateKey(key));
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGenerateSecretWithNullSpecThrowsInvalidKeySpecException() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generateSecret(null);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGenerateSecretRejectsSecretKeySpec() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generateSecret(new SecretKeySpec(new byte[16], algorithm));
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testGenerateSecretRejectsKeyInfo() throws Exception {
+        for (String algorithm : EXPECTED_ALGORITHMS) {
+            try {
+                KeyGenerator keyGenerator =
+                        KeyGenerator.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+                keyGenerator.init(new KeyGenParameterSpec.Builder("test1", 0).build());
+                SecretKey keystoreKey = keyGenerator.generateKey();
+                KeyInfo keyInfo = TestUtils.getKeyInfo(keystoreKey);
+
+                SecretKeyFactory keyFactory = getKeyFactory(algorithm);
+                try {
+                    keyFactory.generateSecret(keyInfo);
+                    fail();
+                } catch (InvalidKeySpecException expected) {}
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    private SecretKeyFactory getKeyFactory(String algorithm) throws NoSuchAlgorithmException,
+            NoSuchProviderException {
+        return SecretKeyFactory.getInstance(algorithm, EXPECTED_PROVIDER_NAME);
+    }
+}
diff --git a/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java b/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
index c53e2c3..8451eb8 100644
--- a/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
+++ b/tests/tests/keystore/src/android/keystore/cts/SignatureTest.java
@@ -36,16 +36,21 @@
 import java.util.Set;
 import java.util.TreeMap;
 
+import android.content.Context;
 import android.security.keystore.KeyProperties;
 import android.security.keystore.KeyProtection;
 import android.test.AndroidTestCase;
 import android.test.MoreAsserts;
 
+/**
+ * Tests for algorithm-agnostic functionality of {@code Signature} implementations backed by Android
+ * Keystore.
+ */
 public class SignatureTest extends AndroidTestCase {
 
     static final String EXPECTED_PROVIDER_NAME = TestUtils.EXPECTED_CRYPTO_OP_PROVIDER_NAME;
 
-    private static final String[] EXPECTED_SIGNATURE_ALGORITHMS = {
+    static final String[] EXPECTED_SIGNATURE_ALGORITHMS = {
         "NONEwithRSA",
         "MD5withRSA",
         "SHA1withRSA",
@@ -321,7 +326,7 @@
                 + "f04e3de1460e60e9be7a42b1ddff0c"));
     }
 
-    private static final long DAY_IN_MILLIS = 1000 * 60 * 60 * 24;
+    private static final long DAY_IN_MILLIS = TestUtils.DAY_IN_MILLIS;
 
     public void testAlgorithmList() {
         // Assert that Android Keystore Provider exposes exactly the expected signature algorithms.
@@ -356,39 +361,264 @@
                 expectedSigAlgsLowerCase.toArray(new String[0]));
     }
 
-    public void testGeneratedSignatureVerifies() throws Exception {
-        Collection<KeyPair> keyPairs = importDefaultKatKeyPairs();
-
+    public void testAndroidKeyStoreKeysHandledByAndroidKeyStoreProviderWhenSigning()
+            throws Exception {
         Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
         assertNotNull(provider);
         for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
             try {
-                KeyPair keyPair = getKeyPairForSignatureAlgorithm(sigAlgorithm, keyPairs);
-
-                // Generate a signature
+                KeyPair keyPair = importDefaultKatKeyPair(sigAlgorithm).getKeystoreBackedKeyPair();
                 Signature signature = Signature.getInstance(sigAlgorithm);
                 signature.initSign(keyPair.getPrivate());
                 assertSame(provider, signature.getProvider());
-                byte[] message = "This is a test".getBytes("UTF-8");
-                signature.update(message);
-                byte[] sigBytes = signature.sign();
-
-                // Assert that it verifies using our own Provider
-                assertSignatureVerifiesOneShot(
-                        sigAlgorithm, provider, keyPair.getPublic(), message, sigBytes);
-
-                // Assert that it verifies using whatever Provider is chosen by JCA by
-                // default for this signature algorithm and public key.
-                assertSignatureVerifiesOneShot(
-                        sigAlgorithm, keyPair.getPublic(), message, sigBytes);
-            } catch (Exception e) {
+            } catch (Throwable e) {
                 throw new RuntimeException(sigAlgorithm + " failed", e);
             }
         }
     }
 
+    public void testAndroidKeyStorePublicKeysAcceptedByHighestPriorityProviderWhenVerifying()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyPair keyPair = importDefaultKatKeyPair(sigAlgorithm).getKeystoreBackedKeyPair();
+                Signature signature = Signature.getInstance(sigAlgorithm);
+                signature.initVerify(keyPair.getPublic());
+            } catch (Throwable e) {
+                throw new RuntimeException(sigAlgorithm + " failed", e);
+            }
+        }
+    }
+
+    public void testValidSignatureGeneratedForEmptyMessage()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                try {
+                    KeyPair keyPair = key.getKeystoreBackedKeyPair();
+
+                    // Generate a signature
+                    Signature signature = Signature.getInstance(sigAlgorithm, provider);
+                    signature.initSign(keyPair.getPrivate());
+                    byte[] sigBytes = signature.sign();
+
+                    // Assert that it verifies using our own Provider
+                    signature.initVerify(keyPair.getPublic());
+                    assertTrue(signature.verify(sigBytes));
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias(), e);
+                }
+            }
+        }
+    }
+
+    public void testEmptySignatureDoesNotVerify()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                try {
+                    KeyPair keyPair = key.getKeystoreBackedKeyPair();
+                    Signature signature = Signature.getInstance(sigAlgorithm, provider);
+                    signature.initVerify(keyPair.getPublic());
+                    assertFalse(signature.verify(EmptyArray.BYTE));
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias(), e);
+                }
+            }
+        }
+    }
+
+    public void testSignatureGeneratedByAndroidKeyStoreVerifiesByAndroidKeyStore()
+            throws Exception {
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                try {
+                    KeyPair keyPair = key.getKeystoreBackedKeyPair();
+
+                    // Generate a signature
+                    Signature signature = Signature.getInstance(sigAlgorithm, provider);
+                    signature.initSign(keyPair.getPrivate());
+                    byte[] message = "This is a test".getBytes("UTF-8");
+                    signature.update(message);
+                    byte[] sigBytes = signature.sign();
+
+                    // Assert that it verifies using our own Provider
+                    assertSignatureVerifiesOneShot(
+                            sigAlgorithm, provider, keyPair.getPublic(), message, sigBytes);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias(), e);
+                }
+            }
+        }
+    }
+
+    public void testSignatureGeneratedByAndroidKeyStoreVerifiesByHighestPriorityProvider()
+            throws Exception {
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                Provider verificationProvider = null;
+                try {
+                    PrivateKey keystorePrivateKey = key.getKeystoreBackedKeyPair().getPrivate();
+
+                    // Generate a signature
+                    Signature signature = Signature.getInstance(sigAlgorithm, keystoreProvider);
+                    signature.initSign(keystorePrivateKey);
+                    byte[] message = "This is a test".getBytes("UTF-8");
+                    signature.update(message);
+                    byte[] sigBytes = signature.sign();
+
+                    // Assert that it verifies using whatever Provider is chosen by JCA by default
+                    // for this signature algorithm and public key.
+                    PublicKey publicKey = key.getOriginalKeyPair().getPublic();
+                    try {
+                        signature = Signature.getInstance(sigAlgorithm);
+                        signature.initVerify(publicKey);
+                        verificationProvider = signature.getProvider();
+                    } catch (InvalidKeyException e) {
+                        // No providers support verifying signatures using this algorithm and key.
+                        continue;
+                    }
+                    assertSignatureVerifiesOneShot(
+                            sigAlgorithm, verificationProvider, publicKey, message, sigBytes);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias()
+                                    + ", verification provider: " + verificationProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    public void testSignatureGeneratedByHighestPriorityProviderVerifiesByAndroidKeyStore()
+            throws Exception {
+
+        Provider keystoreProvider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(keystoreProvider);
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                Provider signingProvider = null;
+                try {
+                    PrivateKey privateKey = key.getOriginalKeyPair().getPrivate();
+
+                    // Generate a signature
+                    Signature signature;
+                    try {
+                        signature = Signature.getInstance(sigAlgorithm);
+                        signature.initSign(privateKey);
+                        signingProvider = signature.getProvider();
+                    } catch (InvalidKeyException e) {
+                        // No providers support signing using this algorithm and key.
+                        continue;
+                    }
+                    byte[] message = "This is a test".getBytes("UTF-8");
+                    signature.update(message);
+                    byte[] sigBytes = signature.sign();
+
+                    // Assert that the signature verifies using the Android Keystore provider.
+                    PublicKey keystorePublicKey = key.getKeystoreBackedKeyPair().getPublic();
+                    assertSignatureVerifiesOneShot(
+                            sigAlgorithm, keystoreProvider, keystorePublicKey, message, sigBytes);
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias()
+                                    + ", signing provider: " + signingProvider,
+                            e);
+                }
+            }
+        }
+    }
+
+    // TODO: Re-enable this test once Signature.initSign passes SecureRandom to SPI (Bug 22485587).
+    public void DISABLED_testEntropyConsumption() throws Exception {
+        // Assert that signature generation consumes the correct amount of entropy from the provided
+        // SecureRandom. There is no need to check that Signature.verify does not consume entropy
+        // because Signature.initVerify does not take a SecureRandom.
+
+        Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
+        assertNotNull(provider);
+
+        CountingSecureRandom rng = new CountingSecureRandom();
+        for (String sigAlgorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            for (ImportedKey key : importKatKeyPairsForSigning(getContext(), sigAlgorithm)) {
+                if (!TestUtils.isKeyLongEnoughForSignatureAlgorithm(
+                        sigAlgorithm, key.getOriginalSigningKey())) {
+                    continue;
+                }
+                try {
+                    KeyPair keyPair = key.getKeystoreBackedKeyPair();
+                    PrivateKey privateKey = keyPair.getPrivate();
+                    Signature signature = Signature.getInstance(sigAlgorithm, provider);
+
+                    // Signature.initSign should not consume entropy.
+                    rng.resetCounters();
+                    signature.initSign(privateKey, rng);
+                    assertEquals(0, rng.getOutputSizeBytes());
+
+                    // Signature.update should not consume entropy.
+                    byte[] message = "This is a test message".getBytes("UTF-8");
+                    rng.resetCounters();
+                    signature.update(message);
+                    assertEquals(0, rng.getOutputSizeBytes());
+
+                    // Signature.sign may consume entropy.
+                    rng.resetCounters();
+                    signature.sign();
+                    int expectedEntropyBytesConsumed;
+                    String algorithmUpperCase = sigAlgorithm.toUpperCase(Locale.US);
+                    if (algorithmUpperCase.endsWith("WITHECDSA")) {
+                        expectedEntropyBytesConsumed =
+                                (TestUtils.getKeySizeBits(privateKey) + 7) / 8;
+                    } else if (algorithmUpperCase.endsWith("WITHRSA")) {
+                        expectedEntropyBytesConsumed = 0;
+                    } else if (algorithmUpperCase.endsWith("WITHRSA/PSS")) {
+                        expectedEntropyBytesConsumed = 20; // salt length
+                    } else {
+                        throw new RuntimeException("Unsupported algorithm: " + sigAlgorithm);
+                    }
+                    assertEquals(expectedEntropyBytesConsumed, rng.getOutputSizeBytes());
+                } catch (Throwable e) {
+                    throw new RuntimeException(
+                            "Failed for " + sigAlgorithm + " with key " + key.getAlias(), e);
+                }
+            }
+        }
+    }
+
     public void testSmallMsgKat() throws Exception {
-        Collection<KeyPair> keyPairs = importDefaultKatKeyPairs();
         byte[] message = SHORT_MSG_KAT_MESSAGE;
 
         Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
@@ -397,7 +627,7 @@
             try {
                 byte[] goodSigBytes = SHORT_MSG_KAT_SIGNATURES.get(algorithm);
                 assertNotNull(goodSigBytes);
-                KeyPair keyPair = getKeyPairForSignatureAlgorithm(algorithm, keyPairs);
+                KeyPair keyPair = importDefaultKatKeyPair(algorithm).getKeystoreBackedKeyPair();
                 // Assert that AndroidKeyStore provider can verify the known good signature.
                 assertSignatureVerifiesOneShot(
                         algorithm, provider, keyPair.getPublic(), message, goodSigBytes);
@@ -417,9 +647,8 @@
                         algorithm, provider, keyPair.getPublic(), message, goodSigWithBitFlip);
 
                 // Sign the message in one go
-                Signature signature = Signature.getInstance(algorithm);
+                Signature signature = Signature.getInstance(algorithm, provider);
                 signature.initSign(keyPair.getPrivate());
-                assertSame(provider, signature.getProvider());
                 signature.update(message);
                 byte[] generatedSigBytes = signature.sign();
                 boolean deterministicSignatureScheme =
@@ -451,7 +680,7 @@
                 }
 
                 // Sign the message by feeding it into the Signature one byte at a time
-                signature = Signature.getInstance(signature.getAlgorithm());
+                signature = Signature.getInstance(signature.getAlgorithm(), provider);
                 signature.initSign(keyPair.getPrivate());
                 for (int i = 0; i < message.length; i++) {
                     signature.update(message[i]);
@@ -488,24 +717,25 @@
     }
 
     public void testLongMsgKat() throws Exception {
-        Collection<KeyPair> keyPairs = importDefaultKatKeyPairs();
         byte[] message = TestUtils.generateLargeKatMsg(LONG_MSG_KAT_SEED, LONG_MSG_KAT_SIZE_BYTES);
 
         Provider provider = Security.getProvider(EXPECTED_PROVIDER_NAME);
         assertNotNull(provider);
         for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
-            KeyPair keyPair = getKeyPairForSignatureAlgorithm(algorithm, keyPairs);
-
             try {
-                if (algorithm.toLowerCase(Locale.US).startsWith("nonewithrsa")) {
-                    // This algorithm cannot accept large messages
-                    Signature signature = Signature.getInstance(algorithm);
+                KeyPair keyPair = importDefaultKatKeyPair(algorithm).getKeystoreBackedKeyPair();
+                String digest = TestUtils.getSignatureAlgorithmDigest(algorithm);
+                String keyAlgorithm = TestUtils.getSignatureAlgorithmKeyAlgorithm(algorithm);
+                if ((KeyProperties.DIGEST_NONE.equalsIgnoreCase(digest))
+                        && (!KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm))) {
+                    // This algorithm does not accept large messages
+                    Signature signature = Signature.getInstance(algorithm, provider);
                     signature.initSign(keyPair.getPrivate());
-                    assertSame(provider, signature.getProvider());
                     try {
                         signature.update(message);
-                        signature.sign();
-                        fail();
+                        byte[] sigBytes = signature.sign();
+                        fail("Unexpectedly generated signature (" + sigBytes.length + "): "
+                                + HexEncoding.encode(sigBytes));
                     } catch (SignatureException expected) {}
 
                     // Bogus signature generated using SHA-256 digest -- shouldn't because the
@@ -514,7 +744,7 @@
                     byte[] sigBytes = SHORT_MSG_KAT_SIGNATURES.get(
                             "SHA256" + algorithm.substring("NONE".length()));
                     assertNotNull(sigBytes);
-                    signature = Signature.getInstance(algorithm);
+                    signature = Signature.getInstance(algorithm, provider);
                     signature.initVerify(keyPair.getPublic());
                     try {
                         signature.update(message);
@@ -534,13 +764,13 @@
                         algorithm, provider, keyPair.getPublic(), message, goodSigBytes, 718871);
 
                 // Sign the message in one go
-                Signature signature = Signature.getInstance(algorithm);
+                Signature signature = Signature.getInstance(algorithm, provider);
                 signature.initSign(keyPair.getPrivate());
-                assertSame(provider, signature.getProvider());
                 signature.update(message);
                 byte[] generatedSigBytes = signature.sign();
+                String paddingScheme = TestUtils.getSignatureAlgorithmPadding(algorithm);
                 boolean deterministicSignatureScheme =
-                        algorithm.toLowerCase().endsWith("withrsa");
+                        KeyProperties.SIGNATURE_PADDING_RSA_PKCS1.equalsIgnoreCase(paddingScheme);
                 if (deterministicSignatureScheme) {
                     MoreAsserts.assertEquals(goodSigBytes, generatedSigBytes);
                 } else {
@@ -566,10 +796,8 @@
                 }
 
                 // Sign the message by feeding it into the Signature one byte at a time
-                signature = Signature.getInstance(signature.getAlgorithm());
                 generatedSigBytes = generateSignatureFedUsingFixedSizeChunks(
                         algorithm, provider, keyPair.getPrivate(), message, 444307);
-                signature.initSign(keyPair.getPrivate());
                 if (deterministicSignatureScheme) {
                     MoreAsserts.assertEquals(goodSigBytes, generatedSigBytes);
                 } else {
@@ -600,114 +828,238 @@
 
     public void testInitVerifySucceedsDespiteMissingAuthorizations() throws Exception {
         KeyProtection spec = new KeyProtection.Builder(0).build();
-        assertInitVerifySucceeds("SHA256withECDSA", spec);
-        assertInitVerifySucceeds("SHA256withRSA", spec);
-        assertInitVerifySucceeds("SHA256withRSA/PSS", spec);
+
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                assertInitVerifySucceeds(algorithm, spec);
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitSignFailsWhenNotAuthorizedToSign() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_NONE);
         int badPurposes = KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT
                 | KeyProperties.PURPOSE_VERIFY;
 
-        assertInitSignSucceeds("SHA256withECDSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA256withECDSA",
-                TestUtils.buildUpon(good, badPurposes).build());
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
+                assertInitSignThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good, badPurposes).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
-        assertInitSignSucceeds("SHA256withRSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA256withRSA",
-                TestUtils.buildUpon(good, badPurposes).build());
+    public void testInitVerifyIgnoresThatNotAuthorizedToVerify() throws Exception {
+        int badPurposes = KeyProperties.PURPOSE_ENCRYPT | KeyProperties.PURPOSE_DECRYPT
+                | KeyProperties.PURPOSE_SIGN;
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS);
-        assertInitSignSucceeds("SHA256withRSA/PSS", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA256withRSA/PSS",
-                TestUtils.buildUpon(good, badPurposes).build());
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good, badPurposes).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitSignFailsWhenDigestNotAuthorized() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_SHA384);
-        String badDigest = KeyProperties.DIGEST_SHA256;
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
 
-        assertInitSignSucceeds("SHA384withECDSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA384withECDSA",
-                TestUtils.buildUpon(good).setDigests(badDigest).build());
+                String digest = TestUtils.getSignatureAlgorithmDigest(algorithm);
+                String badDigest =
+                        (KeyProperties.DIGEST_SHA256.equalsIgnoreCase(digest))
+                        ? KeyProperties.DIGEST_SHA384 : KeyProperties.DIGEST_SHA256;
+                assertInitSignThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good).setDigests(badDigest).build());
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
-        assertInitSignSucceeds("SHA384withRSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA384withRSA",
-                TestUtils.buildUpon(good).setDigests(badDigest).build());
+                // Check that digest NONE is not treated as ANY.
+                if (!KeyProperties.DIGEST_NONE.equalsIgnoreCase(digest)) {
+                    assertInitSignThrowsInvalidKeyException(algorithm,
+                            TestUtils.buildUpon(good)
+                                    .setDigests(KeyProperties.DIGEST_NONE)
+                                    .build());
+                }
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS);
-        assertInitSignSucceeds("SHA384withRSA/PSS", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA384withRSA/PSS",
-                TestUtils.buildUpon(good).setDigests(badDigest).build());
+    public void testInitVerifyIgnoresThatDigestNotAuthorized() throws Exception {
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+
+                String digest = TestUtils.getSignatureAlgorithmDigest(algorithm);
+                String badDigest =
+                        (KeyProperties.DIGEST_SHA256.equalsIgnoreCase(digest))
+                        ? KeyProperties.DIGEST_SHA384 : KeyProperties.DIGEST_SHA256;
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good).setDigests(badDigest).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitSignFailsWhenPaddingNotAuthorized() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_SHA512);
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                String paddingScheme = TestUtils.getSignatureAlgorithmPadding(algorithm);
+                String badPaddingScheme;
+                if (paddingScheme == null) {
+                    // No padding scheme used by this algorithm -- ignore.
+                    continue;
+                } else if (KeyProperties.SIGNATURE_PADDING_RSA_PKCS1.equalsIgnoreCase(
+                        paddingScheme)) {
+                    badPaddingScheme = KeyProperties.SIGNATURE_PADDING_RSA_PSS;
+                } else if (KeyProperties.SIGNATURE_PADDING_RSA_PSS.equalsIgnoreCase(
+                        paddingScheme)) {
+                    badPaddingScheme = KeyProperties.SIGNATURE_PADDING_RSA_PKCS1;
+                } else {
+                    throw new IllegalArgumentException("Unsupported algorithm: " + algorithm);
+                }
 
-        // Does not apply to ECDSA because it doesn't any signature padding schemes
-        // assertInitSignThrowsInvalidKeyException("SHA256withECDSA", builder.build());
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
-        assertInitSignSucceeds("SHA512withRSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA512withRSA",
-                TestUtils.buildUpon(good)
-                        .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS)
-                        .build());
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
+                assertInitSignThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good).setSignaturePaddings(badPaddingScheme).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS);
-        assertInitSignSucceeds("SHA512withRSA/PSS", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA512withRSA/PSS",
-                TestUtils.buildUpon(good)
-                        .setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1)
-                        .build());
+    public void testInitVerifyIgnoresThatPaddingNotAuthorized() throws Exception {
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                String paddingScheme = TestUtils.getSignatureAlgorithmPadding(algorithm);
+                String badPaddingScheme;
+                if (paddingScheme == null) {
+                    // No padding scheme used by this algorithm -- ignore.
+                    continue;
+                } else if (KeyProperties.SIGNATURE_PADDING_RSA_PKCS1.equalsIgnoreCase(
+                        paddingScheme)) {
+                    badPaddingScheme = KeyProperties.SIGNATURE_PADDING_RSA_PSS;
+                } else if (KeyProperties.SIGNATURE_PADDING_RSA_PSS.equalsIgnoreCase(
+                        paddingScheme)) {
+                    badPaddingScheme = KeyProperties.SIGNATURE_PADDING_RSA_PKCS1;
+                } else {
+                    throw new IllegalArgumentException("Unsupported algorithm: " + algorithm);
+                }
+
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good).setSignaturePaddings(badPaddingScheme).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     public void testInitSignFailsWhenKeyNotYetValid() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_SHA224);
         Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
-        assertInitSignSucceeds("SHA224withECDSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withECDSA",
-                TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
-
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
-        assertInitSignSucceeds("SHA224withRSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withRSA",
-                TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
-
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS);
-        assertInitSignSucceeds("SHA224withRSA/PSS", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withRSA/PSS",
-                TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
+                assertInitSignThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
-    public void testInitSignFailsWhenKeyNoLongerValid() throws Exception {
-        KeyProtection.Builder good = new KeyProtection.Builder(
-                KeyProperties.PURPOSE_SIGN)
-                .setDigests(KeyProperties.DIGEST_SHA224);
+    public void testInitVerifyIgnoresThatKeyNotYetValid() throws Exception {
+        Date badStartDate = new Date(System.currentTimeMillis() + DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good).setKeyValidityStart(badStartDate).build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitSignFailsWhenKeyNoLongerValidForOrigination() throws Exception {
         Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
-        assertInitSignSucceeds("SHA224withECDSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withECDSA",
-                TestUtils.buildUpon(good).setKeyValidityForOriginationEnd(badEndDate).build());
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
+                assertInitSignThrowsInvalidKeyException(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PKCS1);
-        assertInitSignSucceeds("SHA224withRSA", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withRSA",
-                TestUtils.buildUpon(good).setKeyValidityForOriginationEnd(badEndDate).build());
+    public void testInitVerifyIgnoresThatKeyNoLongerValidForOrigination() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForOriginationEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
 
-        good.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS);
-        assertInitSignSucceeds("SHA224withRSA/PSS", good.build());
-        assertInitSignThrowsInvalidKeyException("SHA224withRSA/PSS",
-                TestUtils.buildUpon(good).setKeyValidityForOriginationEnd(badEndDate).build());
+    public void testInitSignIgnoresThatKeyNoLongerValidForConsumption() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForSigning(algorithm);
+                assertInitSignSucceeds(algorithm, good);
+                assertInitSignSucceeds(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
+    }
+
+    public void testInitVerifyIgnoresThatKeyNoLongerValidForConsumption() throws Exception {
+        Date badEndDate = new Date(System.currentTimeMillis() - DAY_IN_MILLIS);
+        for (String algorithm : EXPECTED_SIGNATURE_ALGORITHMS) {
+            try {
+                KeyProtection good = getMinimalWorkingImportParamsForVerifying(algorithm);
+                assertInitVerifySucceeds(algorithm, good);
+                assertInitVerifySucceeds(algorithm,
+                        TestUtils.buildUpon(good)
+                                .setKeyValidityForConsumptionEnd(badEndDate)
+                                .build());
+            } catch (Throwable e) {
+                throw new RuntimeException("Failed for " + algorithm, e);
+            }
+        }
     }
 
     private void assertInitVerifySucceeds(
@@ -727,12 +1079,10 @@
             int certResId,
             KeyProtection keyProtection) throws Exception {
         PublicKey publicKey = TestUtils.importIntoAndroidKeyStore(
-                "test1",
-                TestUtils.getRawResPrivateKey(getContext(), privateKeyResId),
-                TestUtils.getRawResX509Certificate(getContext(), certResId),
-                keyProtection)
+                "test1", getContext(), privateKeyResId, certResId, keyProtection)
+                .getKeystoreBackedKeyPair()
                 .getPublic();
-        Signature signature = Signature.getInstance(signatureAlgorithm);
+        Signature signature = Signature.getInstance(signatureAlgorithm, EXPECTED_PROVIDER_NAME);
         signature.initVerify(publicKey);
     }
 
@@ -753,12 +1103,10 @@
             int certResId,
             KeyProtection keyProtection) throws Exception {
         PrivateKey privateKey = TestUtils.importIntoAndroidKeyStore(
-                "test1",
-                TestUtils.getRawResPrivateKey(getContext(), privateKeyResId),
-                TestUtils.getRawResX509Certificate(getContext(), certResId),
-                keyProtection)
+                "test1", getContext(), privateKeyResId, certResId, keyProtection)
+                .getKeystoreBackedKeyPair()
                 .getPrivate();
-        Signature signature = Signature.getInstance(signatureAlgorithm);
+        Signature signature = Signature.getInstance(signatureAlgorithm, EXPECTED_PROVIDER_NAME);
         signature.initSign(privateKey);
     }
 
@@ -788,12 +1136,10 @@
             int certResId,
             KeyProtection keyProtection) throws Exception {
         PrivateKey privateKey = TestUtils.importIntoAndroidKeyStore(
-                "test1",
-                TestUtils.getRawResPrivateKey(getContext(), privateKeyResId),
-                TestUtils.getRawResX509Certificate(getContext(), certResId),
-                keyProtection)
+                "test1", getContext(), privateKeyResId, certResId, keyProtection)
+                .getKeystoreBackedKeyPair()
                 .getPrivate();
-        Signature signature = Signature.getInstance(signatureAlgorithm);
+        Signature signature = Signature.getInstance(signatureAlgorithm, EXPECTED_PROVIDER_NAME);
         try {
             signature.initSign(privateKey);
             fail(message);
@@ -801,59 +1147,39 @@
     }
 
     static int[] getDefaultKeyAndCertResIds(String signatureAlgorithm) {
-        String sigAlgLowerCase = signatureAlgorithm.toLowerCase();
-        if (sigAlgLowerCase.contains("ecdsa")) {
+        String keyAlgorithm = TestUtils.getSignatureAlgorithmKeyAlgorithm(signatureAlgorithm);
+        if (KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm)) {
             return new int[] {R.raw.ec_key1_pkcs8, R.raw.ec_key1_cert};
-        } else if (sigAlgLowerCase.contains("rsa")) {
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
             return new int[] {R.raw.rsa_key1_pkcs8, R.raw.rsa_key1_cert};
         } else {
-            throw new IllegalArgumentException(
-                    "Unknown signature algorithm: " + signatureAlgorithm);
+            throw new IllegalArgumentException("Unknown key algorithm: " + keyAlgorithm);
         }
     }
 
-    private static String getKeyAlgorithmForSignatureAlgorithm(String signatureAlgorithm) {
-        String algLowerCase = signatureAlgorithm.toLowerCase();
-        if (algLowerCase.contains("withecdsa")) {
-            return KeyProperties.KEY_ALGORITHM_EC;
-        } else if (algLowerCase.contains("withrsa")) {
-            return KeyProperties.KEY_ALGORITHM_RSA;
+    private ImportedKey importDefaultKatKeyPair(String signatureAlgorithm) throws Exception {
+        String keyAlgorithm = TestUtils.getSignatureAlgorithmKeyAlgorithm(signatureAlgorithm);
+        KeyProtection importParams =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith(signatureAlgorithm);
+        if (KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm)) {
+            return TestUtils.importIntoAndroidKeyStore(
+                    "testEc",
+                    getContext(),
+                    R.raw.ec_key1_pkcs8,
+                    R.raw.ec_key1_cert,
+                    importParams);
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            return TestUtils.importIntoAndroidKeyStore(
+                    "testRsa",
+                    getContext(),
+                    R.raw.rsa_key1_pkcs8,
+                    R.raw.rsa_key1_cert,
+                    importParams);
         } else {
-            throw new IllegalArgumentException(
-                    "Unsupported signature algorithm: " + signatureAlgorithm);
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
         }
     }
 
-    private static KeyPair getKeyPairForSignatureAlgorithm(String signatureAlgorithm,
-            Iterable<KeyPair> keyPairs) {
-        return TestUtils.getKeyPairForKeyAlgorithm(
-                getKeyAlgorithmForSignatureAlgorithm(signatureAlgorithm), keyPairs);
-    }
-
-    private Collection<KeyPair> importDefaultKatKeyPairs() throws Exception {
-        return Arrays.asList(
-                TestUtils.importIntoAndroidKeyStore(
-                        "testRsa",
-                        TestUtils.getRawResPrivateKey(getContext(), R.raw.rsa_key1_pkcs8),
-                        TestUtils.getRawResX509Certificate(getContext(), R.raw.rsa_key1_cert),
-                        new KeyProtection.Builder(
-                                KeyProperties.PURPOSE_SIGN)
-                                .setDigests(KeyProperties.DIGEST_NONE)
-                                .setSignaturePaddings(
-                                        KeyProperties.SIGNATURE_PADDING_RSA_PKCS1,
-                                        KeyProperties.SIGNATURE_PADDING_RSA_PSS)
-                                .build()),
-                TestUtils.importIntoAndroidKeyStore(
-                        "testEc",
-                        TestUtils.getRawResPrivateKey(getContext(), R.raw.ec_key1_pkcs8),
-                        TestUtils.getRawResX509Certificate(getContext(), R.raw.ec_key1_cert),
-                        new KeyProtection.Builder(
-                                KeyProperties.PURPOSE_SIGN)
-                                .setDigests(KeyProperties.DIGEST_NONE)
-                                .build())
-                );
-    }
-
     private void assertSignatureVerifiesOneShot(
             String algorithm,
             PublicKey publicKey,
@@ -963,4 +1289,29 @@
                     + HexEncoding.encode(signature));
         }
     }
+
+    private static KeyProtection getMinimalWorkingImportParamsForSigning(String algorithm) {
+        return TestUtils.getMinimalWorkingImportParametersForSigningingWith(algorithm);
+    }
+
+    private static KeyProtection getMinimalWorkingImportParamsForVerifying(
+            @SuppressWarnings("unused") String algorithm) {
+        // No need to authorize anything because verification does not use the private key.
+        // Operations using public keys do not need authorization.
+        return new KeyProtection.Builder(0).build();
+    }
+
+    static Collection<ImportedKey> importKatKeyPairsForSigning(
+            Context context, String signatureAlgorithm) throws Exception {
+        String keyAlgorithm = TestUtils.getSignatureAlgorithmKeyAlgorithm(signatureAlgorithm);
+        KeyProtection importParams =
+                TestUtils.getMinimalWorkingImportParametersForSigningingWith(signatureAlgorithm);
+        if (KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm)) {
+            return ECDSASignatureTest.importKatKeyPairs(context, importParams);
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            return RSASignatureTest.importKatKeyPairs(context, importParams);
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/TestUtils.java b/tests/tests/keystore/src/android/keystore/cts/TestUtils.java
index 3448ffc..85b8869 100644
--- a/tests/tests/keystore/src/android/keystore/cts/TestUtils.java
+++ b/tests/tests/keystore/src/android/keystore/cts/TestUtils.java
@@ -27,10 +27,10 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigInteger;
 import java.security.Key;
 import java.security.KeyFactory;
 import java.security.KeyPair;
-import java.security.KeyPairGenerator;
 import java.security.KeyStore;
 import java.security.KeyStoreException;
 import java.security.MessageDigest;
@@ -56,6 +56,7 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 import javax.crypto.SecretKey;
@@ -65,6 +66,9 @@
 abstract class TestUtils extends Assert {
 
     static final String EXPECTED_CRYPTO_OP_PROVIDER_NAME = "AndroidKeyStoreBCWorkaround";
+    static final String EXPECTED_PROVIDER_NAME = "AndroidKeyStore";
+
+    static final long DAY_IN_MILLIS = 1000 * 60 * 60 * 24;
 
 
     private TestUtils() {}
@@ -110,7 +114,7 @@
         }
     }
 
-    private static int getKeySizeBits(Key key) {
+    static int getKeySizeBits(Key key) {
         if (key instanceof ECKey) {
             return ((ECKey) key).getParams().getCurve().getField().getFieldSize();
         } else if (key instanceof RSAKey) {
@@ -370,18 +374,6 @@
         return result;
     }
 
-    static Certificate generateSelfSignedCert(String keyAlgorithm) throws Exception {
-        KeyPairGenerator generator =
-                KeyPairGenerator.getInstance(keyAlgorithm, "AndroidKeyStore");
-        generator.initialize(new KeyGenParameterSpec.Builder(
-                "test1",
-                KeyProperties.PURPOSE_SIGN)
-                .build());
-        KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
-        keyStore.load(null);
-        return keyStore.getCertificate("test1");
-    }
-
     static PrivateKey getRawResPrivateKey(Context context, int resId) throws Exception {
         byte[] pkcs8EncodedForm;
         try (InputStream in = context.getResources().openRawResource(resId)) {
@@ -422,7 +414,7 @@
                 (PrivateKey) keyStore.getKey(alias, null));
     }
 
-    static SecretKey importIntoAndroidKeyStore(
+    static ImportedKey importIntoAndroidKeyStore(
             String alias,
             SecretKey key,
             KeyProtection keyProtection) throws Exception {
@@ -431,7 +423,35 @@
         keyStore.setEntry(alias,
                 new KeyStore.SecretKeyEntry(key),
                 keyProtection);
-        return (SecretKey) keyStore.getKey(alias, null);
+        return new ImportedKey(alias, key, (SecretKey) keyStore.getKey(alias, null));
+    }
+
+    static ImportedKey importIntoAndroidKeyStore(
+            String alias, Context context, int privateResId, int certResId, KeyProtection params)
+                    throws Exception {
+        Certificate originalCert = TestUtils.getRawResX509Certificate(context, certResId);
+        PublicKey originalPublicKey = originalCert.getPublicKey();
+        PrivateKey originalPrivateKey = TestUtils.getRawResPrivateKey(context, privateResId);
+
+        // Check that the domain parameters match between the private key and the public key. This
+        // is to catch accidental errors where a test provides the wrong resource ID as one of the
+        // parameters.
+        if (!originalPublicKey.getAlgorithm().equalsIgnoreCase(originalPrivateKey.getAlgorithm())) {
+            throw new IllegalArgumentException("Key algorithm mismatch."
+                    + " Public: " + originalPublicKey.getAlgorithm()
+                    + ", private: " + originalPrivateKey.getAlgorithm());
+        }
+        assertKeyPairSelfConsistent(originalPublicKey, originalPrivateKey);
+
+        KeyPair keystoreBacked = TestUtils.importIntoAndroidKeyStore(
+                alias, originalPrivateKey, originalCert,
+                params);
+        assertKeyPairSelfConsistent(keystoreBacked);
+        assertKeyPairSelfConsistent(keystoreBacked.getPublic(), originalPrivateKey);
+        return new ImportedKey(
+                alias,
+                new KeyPair(originalCert.getPublicKey(), originalPrivateKey),
+                keystoreBacked);
     }
 
     static byte[] drain(InputStream in) throws IOException {
@@ -444,19 +464,26 @@
         return result.toByteArray();
     }
 
+    static KeyProtection.Builder buildUpon(KeyProtection params) {
+        return buildUponInternal(params, null);
+    }
+
+    static KeyProtection.Builder buildUpon(KeyProtection params, int newPurposes) {
+        return buildUponInternal(params, newPurposes);
+    }
+
     static KeyProtection.Builder buildUpon(
             KeyProtection.Builder builder) {
-        return buildUponInternal(builder, null);
+        return buildUponInternal(builder.build(), null);
     }
 
     static KeyProtection.Builder buildUpon(
             KeyProtection.Builder builder, int newPurposes) {
-        return buildUponInternal(builder, newPurposes);
+        return buildUponInternal(builder.build(), newPurposes);
     }
 
     private static KeyProtection.Builder buildUponInternal(
-            KeyProtection.Builder builder, Integer newPurposes) {
-        KeyProtection spec = builder.build();
+            KeyProtection spec, Integer newPurposes) {
         int purposes = (newPurposes == null) ? spec.getPurposes() : newPurposes;
         KeyProtection.Builder result = new KeyProtection.Builder(purposes);
         result.setBlockModes(spec.getBlockModes());
@@ -475,19 +502,26 @@
         return result;
     }
 
+    static KeyGenParameterSpec.Builder buildUpon(KeyGenParameterSpec spec) {
+        return buildUponInternal(spec, null);
+    }
+
+    static KeyGenParameterSpec.Builder buildUpon(KeyGenParameterSpec spec, int newPurposes) {
+        return buildUponInternal(spec, newPurposes);
+    }
+
     static KeyGenParameterSpec.Builder buildUpon(
             KeyGenParameterSpec.Builder builder) {
-        return buildUponInternal(builder, null);
+        return buildUponInternal(builder.build(), null);
     }
 
     static KeyGenParameterSpec.Builder buildUpon(
             KeyGenParameterSpec.Builder builder, int newPurposes) {
-        return buildUponInternal(builder, newPurposes);
+        return buildUponInternal(builder.build(), newPurposes);
     }
 
     private static KeyGenParameterSpec.Builder buildUponInternal(
-            KeyGenParameterSpec.Builder builder, Integer newPurposes) {
-        KeyGenParameterSpec spec = builder.build();
+            KeyGenParameterSpec spec, Integer newPurposes) {
         int purposes = (newPurposes == null) ? spec.getPurposes() : newPurposes;
         KeyGenParameterSpec.Builder result =
                 new KeyGenParameterSpec.Builder(spec.getKeystoreAlias(), purposes);
@@ -526,6 +560,15 @@
         throw new IllegalArgumentException("No KeyPair for key algorithm " + keyAlgorithm);
     }
 
+    static Key getKeyForKeyAlgorithm(String keyAlgorithm, Iterable<? extends Key> keys) {
+        for (Key key : keys) {
+            if (keyAlgorithm.equalsIgnoreCase(key.getAlgorithm())) {
+                return key;
+            }
+        }
+        throw new IllegalArgumentException("No Key for key algorithm " + keyAlgorithm);
+    }
+
     static byte[] generateLargeKatMsg(byte[] seed, int msgSizeBytes) throws Exception {
         byte[] result = new byte[msgSizeBytes];
         MessageDigest digest = MessageDigest.getInstance("SHA-512");
@@ -540,4 +583,328 @@
         }
         return result;
     }
+
+    static byte[] leftPadWithZeroBytes(byte[] array, int length) {
+        if (array.length >= length) {
+            return array;
+        }
+        byte[] result = new byte[length];
+        System.arraycopy(array, 0, result, result.length - array.length, array.length);
+        return result;
+    }
+
+    static boolean contains(int[] array, int value) {
+        for (int element : array) {
+            if (element == value) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    static boolean isHmacAlgorithm(String algorithm) {
+        return algorithm.toUpperCase(Locale.US).startsWith("HMAC");
+    }
+
+    static String getHmacAlgorithmDigest(String algorithm) {
+        String algorithmUpperCase = algorithm.toUpperCase(Locale.US);
+        if (!algorithmUpperCase.startsWith("HMAC")) {
+            return null;
+        }
+        String result = algorithmUpperCase.substring("HMAC".length());
+        if (result.startsWith("SHA")) {
+            result = "SHA-" + result.substring("SHA".length());
+        }
+        return result;
+    }
+
+    static String getCipherKeyAlgorithm(String transformation) {
+        String transformationUpperCase = transformation.toUpperCase(Locale.US);
+        if (transformationUpperCase.startsWith("AES/")) {
+            return KeyProperties.KEY_ALGORITHM_AES;
+        } else if (transformationUpperCase.startsWith("RSA/")) {
+            return KeyProperties.KEY_ALGORITHM_RSA;
+        } else {
+            throw new IllegalArgumentException("Unsupported transformation: " + transformation);
+        }
+    }
+
+    static boolean isCipherSymmetric(String transformation) {
+        String transformationUpperCase = transformation.toUpperCase(Locale.US);
+        if (transformationUpperCase.startsWith("AES/")) {
+            return true;
+        } else if (transformationUpperCase.startsWith("RSA/")) {
+            return false;
+        } else {
+            throw new IllegalArgumentException("Unsupported transformation: " + transformation);
+        }
+    }
+
+    static String getCipherDigest(String transformation) {
+        String transformationUpperCase = transformation.toUpperCase(Locale.US);
+        if (transformationUpperCase.contains("/OAEP")) {
+            if (transformationUpperCase.endsWith("/OAEPPADDING")) {
+                return KeyProperties.DIGEST_SHA1;
+            } else if (transformationUpperCase.endsWith(
+                    "/OAEPWITHSHA-1ANDMGF1PADDING")) {
+                return KeyProperties.DIGEST_SHA1;
+            } else if (transformationUpperCase.endsWith(
+                    "/OAEPWITHSHA-224ANDMGF1PADDING")) {
+                return KeyProperties.DIGEST_SHA224;
+            } else if (transformationUpperCase.endsWith(
+                    "/OAEPWITHSHA-256ANDMGF1PADDING")) {
+                return KeyProperties.DIGEST_SHA256;
+            } else if (transformationUpperCase.endsWith(
+                    "/OAEPWITHSHA-384ANDMGF1PADDING")) {
+                return KeyProperties.DIGEST_SHA384;
+            } else if (transformationUpperCase.endsWith(
+                    "/OAEPWITHSHA-512ANDMGF1PADDING")) {
+                return KeyProperties.DIGEST_SHA512;
+            } else {
+                throw new RuntimeException("Unsupported OAEP padding scheme: "
+                        + transformation);
+            }
+        } else {
+            return null;
+        }
+    }
+
+    static String getCipherEncryptionPadding(String transformation) {
+        String transformationUpperCase = transformation.toUpperCase(Locale.US);
+        if (transformationUpperCase.endsWith("/NOPADDING")) {
+            return KeyProperties.ENCRYPTION_PADDING_NONE;
+        } else if (transformationUpperCase.endsWith("/PKCS7PADDING")) {
+            return KeyProperties.ENCRYPTION_PADDING_PKCS7;
+        } else if (transformationUpperCase.endsWith("/PKCS1PADDING")) {
+            return KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1;
+        } else if (transformationUpperCase.split("/")[2].startsWith("OAEP")) {
+            return KeyProperties.ENCRYPTION_PADDING_RSA_OAEP;
+        } else {
+            throw new IllegalArgumentException("Unsupported transformation: " + transformation);
+        }
+    }
+
+    static String getCipherBlockMode(String transformation) {
+        return transformation.split("/")[1].toUpperCase(Locale.US);
+    }
+
+    static String getSignatureAlgorithmDigest(String algorithm) {
+        String algorithmUpperCase = algorithm.toUpperCase(Locale.US);
+        int withIndex = algorithmUpperCase.indexOf("WITH");
+        if (withIndex == -1) {
+            throw new IllegalArgumentException("Unsupported algorithm: " + algorithm);
+        }
+        String digest = algorithmUpperCase.substring(0, withIndex);
+        if (digest.startsWith("SHA")) {
+            digest = "SHA-" + digest.substring("SHA".length());
+        }
+        return digest;
+    }
+
+    static String getSignatureAlgorithmPadding(String algorithm) {
+        String algorithmUpperCase = algorithm.toUpperCase(Locale.US);
+        if (algorithmUpperCase.endsWith("WITHECDSA")) {
+            return null;
+        } else if (algorithmUpperCase.endsWith("WITHRSA")) {
+            return KeyProperties.SIGNATURE_PADDING_RSA_PKCS1;
+        } else if (algorithmUpperCase.endsWith("WITHRSA/PSS")) {
+            return KeyProperties.SIGNATURE_PADDING_RSA_PSS;
+        } else {
+            throw new IllegalArgumentException("Unsupported algorithm: " + algorithm);
+        }
+    }
+
+    static String getSignatureAlgorithmKeyAlgorithm(String algorithm) {
+        String algorithmUpperCase = algorithm.toUpperCase(Locale.US);
+        if (algorithmUpperCase.endsWith("WITHECDSA")) {
+            return KeyProperties.KEY_ALGORITHM_EC;
+        } else if ((algorithmUpperCase.endsWith("WITHRSA"))
+                || (algorithmUpperCase.endsWith("WITHRSA/PSS"))) {
+            return KeyProperties.KEY_ALGORITHM_RSA;
+        } else {
+            throw new IllegalArgumentException("Unsupported algorithm: " + algorithm);
+        }
+    }
+
+    static boolean isKeyLongEnoughForSignatureAlgorithm(String algorithm, Key key) {
+        String keyAlgorithm = key.getAlgorithm();
+        if (KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm)) {
+            // No length restrictions for ECDSA
+            return true;
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            // No length restrictions for RSA
+            String digest = getSignatureAlgorithmDigest(algorithm);
+            int digestOutputSizeBits = getDigestOutputSizeBits(digest);
+            if (digestOutputSizeBits == -1) {
+                // No digesting -- assume the key is long enough for the message
+                return true;
+            }
+            String paddingScheme = getSignatureAlgorithmPadding(algorithm);
+            int paddingOverheadBytes;
+            if (KeyProperties.SIGNATURE_PADDING_RSA_PKCS1.equalsIgnoreCase(paddingScheme)) {
+                paddingOverheadBytes = 30;
+            } else if (KeyProperties.SIGNATURE_PADDING_RSA_PSS.equalsIgnoreCase(paddingScheme)) {
+                paddingOverheadBytes = 22;
+            } else {
+                throw new IllegalArgumentException(
+                        "Unsupported signature padding scheme: " + paddingScheme);
+            }
+            int minKeySizeBytes = paddingOverheadBytes + (digestOutputSizeBits + 7) / 8 + 1;
+            int keySizeBytes = ((RSAKey) key).getModulus().bitLength() / 8;
+            return keySizeBytes >= minKeySizeBytes;
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    static int getMaxSupportedPlaintextInputSizeBytes(String transformation, Key key) {
+        String keyAlgorithm = getCipherKeyAlgorithm(transformation);
+        if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+            return Integer.MAX_VALUE;
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            String encryptionPadding = getCipherEncryptionPadding(transformation);
+            int modulusSizeBytes = (getKeySizeBits(key) + 7) / 8;
+            if (KeyProperties.ENCRYPTION_PADDING_NONE.equalsIgnoreCase(encryptionPadding)) {
+                return modulusSizeBytes - 1;
+            } else if (KeyProperties.ENCRYPTION_PADDING_RSA_PKCS1.equalsIgnoreCase(
+                    encryptionPadding)) {
+                return modulusSizeBytes - 11;
+            } else if (KeyProperties.ENCRYPTION_PADDING_RSA_OAEP.equalsIgnoreCase(
+                    encryptionPadding)) {
+                String digest = getCipherDigest(transformation);
+                int digestOutputSizeBytes = (getDigestOutputSizeBits(digest) + 7) / 8;
+                return modulusSizeBytes - 2 * digestOutputSizeBytes - 2;
+            } else {
+                throw new IllegalArgumentException(
+                        "Unsupported encryption padding scheme: " + encryptionPadding);
+            }
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    static int getDigestOutputSizeBits(String digest) {
+        if (KeyProperties.DIGEST_NONE.equals(digest)) {
+            return -1;
+        } else if (KeyProperties.DIGEST_MD5.equals(digest)) {
+            return 128;
+        } else if (KeyProperties.DIGEST_SHA1.equals(digest)) {
+            return 160;
+        } else if (KeyProperties.DIGEST_SHA224.equals(digest)) {
+            return 224;
+        } else if (KeyProperties.DIGEST_SHA256.equals(digest)) {
+            return 256;
+        } else if (KeyProperties.DIGEST_SHA384.equals(digest)) {
+            return 384;
+        } else if (KeyProperties.DIGEST_SHA512.equals(digest)) {
+            return 512;
+        } else {
+            throw new IllegalArgumentException("Unsupported digest: " + digest);
+        }
+    }
+
+    static byte[] concat(byte[] arr1, byte[] arr2) {
+        return concat(arr1, 0, (arr1 != null) ? arr1.length : 0,
+                arr2, 0, (arr2 != null) ? arr2.length : 0);
+    }
+
+    static byte[] concat(byte[] arr1, int offset1, int len1,
+            byte[] arr2, int offset2, int len2) {
+        if (len1 == 0) {
+            return subarray(arr2, offset2, len2);
+        } else if (len2 == 0) {
+            return subarray(arr1, offset1, len1);
+        }
+        byte[] result = new byte[len1 + len2];
+        if (len1 > 0) {
+            System.arraycopy(arr1, offset1, result, 0, len1);
+        }
+        if (len2 > 0) {
+            System.arraycopy(arr2, offset2, result, len1, len2);
+        }
+        return result;
+    }
+
+    static byte[] subarray(byte[] arr, int offset, int len) {
+        if (len == 0) {
+            return EmptyArray.BYTE;
+        }
+        if ((offset == 0) && (arr.length == len)) {
+            return arr;
+        }
+        byte[] result = new byte[len];
+        System.arraycopy(arr, offset, result, 0, len);
+        return result;
+    }
+
+    static KeyProtection getMinimalWorkingImportParametersForSigningingWith(
+            String signatureAlgorithm) {
+        String keyAlgorithm = getSignatureAlgorithmKeyAlgorithm(signatureAlgorithm);
+        String digest = getSignatureAlgorithmDigest(signatureAlgorithm);
+        if (KeyProperties.KEY_ALGORITHM_EC.equalsIgnoreCase(keyAlgorithm)) {
+            return new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN)
+                    .setDigests(digest)
+                    .build();
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            String padding = getSignatureAlgorithmPadding(signatureAlgorithm);
+            return new KeyProtection.Builder(KeyProperties.PURPOSE_SIGN)
+                    .setDigests(digest)
+                    .setSignaturePaddings(padding)
+                    .build();
+        } else {
+            throw new IllegalArgumentException(
+                    "Unsupported signature algorithm: " + signatureAlgorithm);
+        }
+    }
+
+    static KeyProtection getMinimalWorkingImportParametersForCipheringWith(
+            String transformation, int purposes) {
+        return getMinimalWorkingImportParametersForCipheringWith(transformation, purposes, false);
+    }
+
+    static KeyProtection getMinimalWorkingImportParametersForCipheringWith(
+            String transformation, int purposes, boolean ivProvidedWhenEncrypting) {
+        String keyAlgorithm = TestUtils.getCipherKeyAlgorithm(transformation);
+        if (KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(keyAlgorithm)) {
+            String encryptionPadding = TestUtils.getCipherEncryptionPadding(transformation);
+            String blockMode = TestUtils.getCipherBlockMode(transformation);
+            boolean randomizedEncryptionRequired = true;
+            if (KeyProperties.BLOCK_MODE_ECB.equalsIgnoreCase(blockMode)) {
+                randomizedEncryptionRequired = false;
+            } else if ((ivProvidedWhenEncrypting)
+                    && ((purposes & KeyProperties.PURPOSE_ENCRYPT) != 0)) {
+                randomizedEncryptionRequired = false;
+            }
+            return new KeyProtection.Builder(
+                    purposes)
+                    .setBlockModes(blockMode)
+                    .setEncryptionPaddings(encryptionPadding)
+                    .setRandomizedEncryptionRequired(randomizedEncryptionRequired)
+                    .build();
+        } else if (KeyProperties.KEY_ALGORITHM_RSA.equalsIgnoreCase(keyAlgorithm)) {
+            String digest = TestUtils.getCipherDigest(transformation);
+            String encryptionPadding = TestUtils.getCipherEncryptionPadding(transformation);
+            boolean randomizedEncryptionRequired =
+                    !KeyProperties.ENCRYPTION_PADDING_NONE.equalsIgnoreCase(encryptionPadding);
+            return new KeyProtection.Builder(
+                    purposes)
+                    .setDigests((digest != null) ? new String[] {digest} : EmptyArray.STRING)
+                    .setEncryptionPaddings(encryptionPadding)
+                    .setRandomizedEncryptionRequired(randomizedEncryptionRequired)
+                    .build();
+        } else {
+            throw new IllegalArgumentException("Unsupported key algorithm: " + keyAlgorithm);
+        }
+    }
+
+    static byte[] getBigIntegerMagnitudeBytes(BigInteger value) {
+        return removeLeadingZeroByteIfPresent(value.toByteArray());
+    }
+
+    private static byte[] removeLeadingZeroByteIfPresent(byte[] value) {
+        if ((value.length < 1) || (value[0] != 0)) {
+            return value;
+        }
+        return TestUtils.subarray(value, 1, value.length - 1);
+    }
 }
diff --git a/tests/tests/keystore/src/android/keystore/cts/TransparentSecretKey.java b/tests/tests/keystore/src/android/keystore/cts/TransparentSecretKey.java
new file mode 100644
index 0000000..6e74dc0
--- /dev/null
+++ b/tests/tests/keystore/src/android/keystore/cts/TransparentSecretKey.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.keystore.cts;
+
+import javax.crypto.SecretKey;
+
+/**
+ * {@link SecretKey} which exposes its key material. The two reasons for the existence of this class
+ * are: (1) to help test that classes under test don't assume that all transparent secret keys are
+ * instances of {@link SecretKeySpec}, and (2) because {@code SecretKeySpec} rejects zero-length
+ * key material which is needed in some tests.
+ */
+public class TransparentSecretKey implements SecretKey {
+    private final String mAlgorithm;
+    private final byte[] mKeyMaterial;
+
+    public TransparentSecretKey(byte[] keyMaterial, String algorithm) {
+        mAlgorithm = algorithm;
+        mKeyMaterial = keyMaterial.clone();
+    }
+
+    @Override
+    public String getAlgorithm() {
+        return mAlgorithm;
+    }
+
+    @Override
+    public byte[] getEncoded() {
+        return mKeyMaterial;
+    }
+
+    @Override
+    public String getFormat() {
+        return "RAW";
+    }
+}
diff --git a/tests/tests/location/Android.mk b/tests/tests/location/Android.mk
index 02de2f2..62d0d5d 100644
--- a/tests/tests/location/Android.mk
+++ b/tests/tests/location/Android.mk
@@ -21,7 +21,7 @@
 # and when built explicitly put it in the data partition
 LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
 
-LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+LOCAL_STATIC_JAVA_LIBRARIES := ctsdeviceutil ctstestrunner
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
diff --git a/tests/tests/location/src/android/location/cts/BaseMockLocationTest.java b/tests/tests/location/src/android/location/cts/BaseMockLocationTest.java
index fbc7d8d..14019be 100644
--- a/tests/tests/location/src/android/location/cts/BaseMockLocationTest.java
+++ b/tests/tests/location/src/android/location/cts/BaseMockLocationTest.java
@@ -16,13 +16,8 @@
 
 package android.location.cts;
 
-import android.os.ParcelFileDescriptor;
+import android.cts.util.LocationUtils;
 import android.test.InstrumentationTestCase;
-import android.util.Log;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
 
 /**
  * Base class for instrumentations tests that use mock location.
@@ -33,31 +28,12 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        setAsMoskLocationProvider(true);
+        LocationUtils.registerMockLocationProvider(getInstrumentation(), true);
     }
 
     @Override
     protected void tearDown() throws Exception {
-        setAsMoskLocationProvider(false);
+        LocationUtils.registerMockLocationProvider(getInstrumentation(), false);
         super.tearDown();
     }
-
-    private void setAsMoskLocationProvider(boolean enable) {
-        StringBuilder command = new StringBuilder();
-        command.append("appops set ");
-        command.append(getInstrumentation().getContext().getPackageName());
-        command.append(" android:mock_location ");
-        command.append(enable ? "allow" : "deny");
-
-        ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation()
-                .executeShellCommand(command.toString());
-
-        InputStream is = new FileInputStream(pfd.getFileDescriptor());
-        try {
-            final byte[] buffer = new byte[8192];
-            while ((is.read(buffer)) != -1);
-        } catch (IOException e) {
-            Log.e(LOG_TAG, "Error managing mock locaiton app", e);
-        }
-    }
 }
diff --git a/tests/tests/media/Android.mk b/tests/tests/media/Android.mk
index 43e3e89..13daca6 100644
--- a/tests/tests/media/Android.mk
+++ b/tests/tests/media/Android.mk
@@ -41,7 +41,7 @@
 LOCAL_STATIC_JAVA_LIBRARIES := \
     ctsmediautil ctsdeviceutil ctstestserver ctstestrunner
 
-LOCAL_JNI_SHARED_LIBRARIES := libctsmediacodec_jni
+LOCAL_JNI_SHARED_LIBRARIES := libctsmediacodec_jni libaudio_jni
 
 LOCAL_SRC_FILES := $(call all-java-files-under, src)
 
diff --git a/tests/tests/media/libaudiojni/Android.mk b/tests/tests/media/libaudiojni/Android.mk
new file mode 100644
index 0000000..a6c1bfc
--- /dev/null
+++ b/tests/tests/media/libaudiojni/Android.mk
@@ -0,0 +1,39 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH := $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_MODULE    := libaudio_jni
+
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := \
+	appendix-b-1-1-buffer-queue.cpp \
+	appendix-b-1-2-recording.cpp \
+	audio-record-native.cpp \
+	audio-track-native.cpp \
+	sl-utils.cpp
+
+LOCAL_C_INCLUDES := \
+	$(JNI_H_INCLUDE) \
+	system/core/include
+
+LOCAL_C_INCLUDES += $(call include-path-for, libaudiojni) \
+	$(call include-path-for, wilhelm)
+
+LOCAL_SHARED_LIBRARIES := libandroid liblog libnativehelper libOpenSLES libutils
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/tests/tests/media/libaudiojni/Blob.h b/tests/tests/media/libaudiojni/Blob.h
new file mode 100644
index 0000000..134232c
--- /dev/null
+++ b/tests/tests/media/libaudiojni/Blob.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_BLOB_H
+#define ANDROID_BLOB_H
+
+#include <stdint.h>
+#include <stdlib.h>
+#include <string.h>
+
+namespace android {
+
+// read only byte buffer like object
+
+class BlobReadOnly {
+public:
+    BlobReadOnly(const void *data, size_t size, bool byReference) :
+        mMem(byReference ? NULL : malloc(size)),
+        mData(byReference ? data : mMem),
+        mSize(size) {
+        if (!byReference) {
+            memcpy(mMem, data, size);
+        }
+    }
+    ~BlobReadOnly() {
+        free(mMem);
+    }
+
+private:
+          void * const mMem;
+
+public:
+    const void * const mData;
+          const size_t mSize;
+};
+
+// read/write byte buffer like object
+
+class Blob {
+public:
+    Blob(size_t size) :
+        mData(malloc(size)),
+        mOffset(0),
+        mSize(size),
+        mMem(mData) { }
+
+    // by reference
+    Blob(void *data, size_t size) :
+        mData(data),
+        mOffset(0),
+        mSize(size),
+        mMem(NULL) { }
+
+    ~Blob() {
+        free(mMem);
+    }
+
+    void * const mData;
+          size_t mOffset;
+    const size_t mSize;
+
+private:
+    void * const mMem;
+};
+
+} // namespace android
+
+#endif // ANDROID_BLOB_H
diff --git a/tests/tests/media/libaudiojni/Gate.h b/tests/tests/media/libaudiojni/Gate.h
new file mode 100644
index 0000000..dfc15b7
--- /dev/null
+++ b/tests/tests/media/libaudiojni/Gate.h
@@ -0,0 +1,137 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_GATE_H
+#define ANDROID_GATE_H
+
+#include <stdint.h>
+#include <mutex>
+
+namespace android {
+
+// Gate is a synchronization object.
+//
+// Threads will pass if it is open.
+// Threads will block (wait) if it is closed.
+//
+// When a gate is opened, all waiting threads will pass through.
+//
+// Since gate holds no external locks, consistency with external
+// state needs to be handled elsewhere.
+//
+// We use mWaitCount to indicate the number of threads that have
+// arrived at the gate via wait().  Each thread entering
+// wait obtains a unique waitId (which is the current mWaitCount).
+// This can be viewed as a sequence number.
+//
+// We use mPassCount to indicate the number of threads that have
+// passed the gate.  If the waitId is less than or equal to the mPassCount
+// then that thread has passed the gate.  An open gate sets mPassedCount
+// to the current mWaitCount, allowing all prior threads to pass.
+//
+// See sync_timeline, sync_pt, etc. for graphics.
+
+class Gate {
+public:
+    Gate(bool open = false) :
+        mOpen(open),
+        mExit(false),
+        mWaitCount(0),
+        mPassCount(0)
+    { }
+
+    // waits for the gate to open, returns immediately if gate is already open.
+    //
+    // Do not hold a monitor lock while calling this.
+    //
+    // returns true if we passed the gate normally
+    //         false if gate is terminated and we didn't pass the gate.
+    bool wait() {
+        std::unique_lock<std::mutex> l(mLock);
+        size_t waitId = ++mWaitCount;
+        if (mOpen) {
+            mPassCount = waitId; // let me through
+        }
+        while (!passedGate_l(waitId) && !mExit) {
+            mCondition.wait(l);
+        }
+        return passedGate_l(waitId);
+    }
+
+    // close the gate.
+    void closeGate() {
+        std::lock_guard<std::mutex> l(mLock);
+        mOpen = false;
+        mExit = false;
+    }
+
+    // open the gate.
+    // signal to all waiters it is okay to go.
+    void openGate() {
+        std::lock_guard<std::mutex> l(mLock);
+        mOpen = true;
+        mExit = false;
+        if (waiters_l() > 0) {
+            mPassCount = mWaitCount;  // allow waiting threads to go through
+            // unoptimized pthreads will wake thread to find we still hold lock.
+            mCondition.notify_all();
+        }
+    }
+
+    // terminate (term has expired).
+    // all threads allowed to pass regardless of whether the gate is open or closed.
+    void terminate() {
+        std::lock_guard<std::mutex> l(mLock);
+        mExit = true;
+        if (waiters_l() > 0) {
+            // unoptimized pthreads will wake thread to find we still hold lock.
+            mCondition.notify_all();
+        }
+    }
+
+    bool isOpen() {
+        std::lock_guard<std::mutex> l(mLock);
+        return mOpen;
+    }
+
+    // return how many waiters are at the gate.
+    size_t waiters() {
+        std::lock_guard<std::mutex> l(mLock);
+        return waiters_l();
+    }
+
+private:
+    bool                    mOpen;
+    bool                    mExit;
+    size_t                  mWaitCount;  // total number of threads that have called wait()
+    size_t                  mPassCount;  // total number of threads passed the gate.
+    std::condition_variable mCondition;
+    std::mutex              mLock;
+
+    // return how many waiters are at the gate.
+    inline size_t waiters_l() {
+        return mWaitCount - mPassCount;
+    }
+
+    // return whether the waitId (from mWaitCount) has passed through the gate
+    inline bool passedGate_l(size_t waitId) {
+        return (ssize_t)(waitId - mPassCount) <= 0;
+    }
+};
+
+} // namespace android
+
+#endif // ANDROID_GATE_H
diff --git a/tests/tests/media/libaudiojni/appendix-b-1-1-buffer-queue.cpp b/tests/tests/media/libaudiojni/appendix-b-1-1-buffer-queue.cpp
new file mode 100644
index 0000000..5bb88a7
--- /dev/null
+++ b/tests/tests/media/libaudiojni/appendix-b-1-1-buffer-queue.cpp
@@ -0,0 +1,250 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "OpenSL-ES-Test-B-1-1-Buffer-Queue"
+
+#include "sl-utils.h"
+
+/*
+ * See https://www.khronos.org/registry/sles/specs/OpenSL_ES_Specification_1.0.1.pdf
+ * Appendix B.1.1 sample code.
+ *
+ * Minor edits made to conform to Android coding style.
+ *
+ * Correction to code: SL_IID_VOLUME is now made optional for the mixer.
+ * It isn't supported on the standard Android mixer, but it is supported on the player.
+ */
+
+#define MAX_NUMBER_INTERFACES 3
+
+/* Local storage for Audio data in 16 bit words */
+#define AUDIO_DATA_STORAGE_SIZE 4096
+
+#define AUDIO_DATA_SEGMENTS 8
+
+/* Audio data buffer size in 16 bit words. 8 data segments are used in
+   this simple example */
+#define AUDIO_DATA_BUFFER_SIZE (AUDIO_DATA_STORAGE_SIZE / AUDIO_DATA_SEGMENTS)
+
+/* Structure for passing information to callback function */
+typedef struct  {
+    SLPlayItf playItf;
+    SLint16  *pDataBase; // Base address of local audio data storage
+    SLint16  *pData;     // Current address of local audio data storage
+    SLuint32  size;
+} CallbackCntxt;
+
+/* Local storage for Audio data */
+static SLint16 pcmData[AUDIO_DATA_STORAGE_SIZE];
+
+/* Callback for Buffer Queue events */
+static void BufferQueueCallback(
+        SLBufferQueueItf queueItf,
+        void *pContext)
+{
+    SLresult res;
+    CallbackCntxt *pCntxt = (CallbackCntxt*)pContext;
+    if (pCntxt->pData < (pCntxt->pDataBase + pCntxt->size)) {
+        res = (*queueItf)->Enqueue(queueItf, (void *)pCntxt->pData,
+                sizeof(SLint16) * AUDIO_DATA_BUFFER_SIZE); /* Size given in bytes. */
+        ALOGE_IF(res != SL_RESULT_SUCCESS, "error: %s", android::getSLErrStr(res));
+        /* Increase data pointer by buffer size */
+        pCntxt->pData += AUDIO_DATA_BUFFER_SIZE;
+    }
+}
+
+/* Play some music from a buffer queue */
+static void TestPlayMusicBufferQueue(SLObjectItf sl)
+{
+    SLEngineItf EngineItf;
+
+    SLresult res;
+
+    SLDataSource audioSource;
+    SLDataLocator_BufferQueue bufferQueue;
+    SLDataFormat_PCM pcm;
+
+    SLDataSink audioSink;
+    SLDataLocator_OutputMix locator_outputmix;
+
+    SLObjectItf player;
+    SLPlayItf playItf;
+    SLBufferQueueItf bufferQueueItf;
+    SLBufferQueueState state;
+
+    SLObjectItf OutputMix;
+    SLVolumeItf volumeItf;
+
+    int i;
+
+    SLboolean required[MAX_NUMBER_INTERFACES];
+    SLInterfaceID iidArray[MAX_NUMBER_INTERFACES];
+
+    /* Callback context for the buffer queue callback function */
+    CallbackCntxt cntxt;
+
+    /* Get the SL Engine Interface which is implicit */
+    res = (*sl)->GetInterface(sl, SL_IID_ENGINE, (void *)&EngineItf);
+    CheckErr(res);
+
+    /* Initialize arrays required[] and iidArray[] */
+    for (i = 0; i < MAX_NUMBER_INTERFACES; i++) {
+        required[i] = SL_BOOLEAN_FALSE;
+        iidArray[i] = SL_IID_NULL;
+    }
+
+    // Set arrays required[] and iidArray[] for VOLUME interface
+    required[0] = SL_BOOLEAN_FALSE; // ANDROID: we don't require this interface
+    iidArray[0] = SL_IID_VOLUME;
+
+#if 0
+    const unsigned interfaces = 1;
+#else
+
+    /* FIXME: Android doesn't properly support optional interfaces (required == false).
+    [3.1.6] When an application requests explicit interfaces during object creation,
+    it can flag any interface as required. If an implementation is unable to satisfy
+    the request for an interface that is not flagged as required (i.e. it is not required),
+    this will not cause the object to fail creation. On the other hand, if the interface
+    is flagged as required and the implementation is unable to satisfy the request
+    for the interface, the object will not be created.
+    */
+    const unsigned interfaces = 0;
+#endif
+    // Create Output Mix object to be used by player
+    res = (*EngineItf)->CreateOutputMix(EngineItf, &OutputMix, interfaces,
+            iidArray, required);
+    CheckErr(res);
+
+    // Realizing the Output Mix object in synchronous mode.
+    res = (*OutputMix)->Realize(OutputMix, SL_BOOLEAN_FALSE);
+    CheckErr(res);
+
+    volumeItf = NULL; // ANDROID: Volume interface on mix object may not be supported
+    res = (*OutputMix)->GetInterface(OutputMix, SL_IID_VOLUME,
+            (void *)&volumeItf);
+
+    /* Setup the data source structure for the buffer queue */
+    bufferQueue.locatorType = SL_DATALOCATOR_BUFFERQUEUE;
+    bufferQueue.numBuffers = 4; /* Four buffers in our buffer queue */
+
+    /* Setup the format of the content in the buffer queue */
+    pcm.formatType = SL_DATAFORMAT_PCM;
+    pcm.numChannels = 2;
+    pcm.samplesPerSec = SL_SAMPLINGRATE_44_1;
+    pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16;
+    pcm.containerSize = 16;
+    pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
+    pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
+    audioSource.pFormat = (void *)&pcm;
+    audioSource.pLocator = (void *)&bufferQueue;
+
+    /* Setup the data sink structure */
+    locator_outputmix.locatorType = SL_DATALOCATOR_OUTPUTMIX;
+    locator_outputmix.outputMix = OutputMix;
+    audioSink.pLocator = (void *)&locator_outputmix;
+    audioSink.pFormat = NULL;
+
+    /* Initialize the context for Buffer queue callbacks */
+    cntxt.pDataBase = pcmData;
+    cntxt.pData = cntxt.pDataBase;
+    cntxt.size = sizeof(pcmData) / sizeof(pcmData[0]); // ANDROID: Bug
+
+    /* Set arrays required[] and iidArray[] for SEEK interface
+       (PlayItf is implicit) */
+    required[0] = SL_BOOLEAN_TRUE;
+    iidArray[0] = SL_IID_BUFFERQUEUE;
+
+    /* Create the music player */
+
+    res = (*EngineItf)->CreateAudioPlayer(EngineItf, &player,
+            &audioSource, &audioSink, 1, iidArray, required);
+    CheckErr(res);
+
+    /* Realizing the player in synchronous mode. */
+    res = (*player)->Realize(player, SL_BOOLEAN_FALSE);
+    CheckErr(res);
+
+    /* Get seek and play interfaces */
+    res = (*player)->GetInterface(player, SL_IID_PLAY, (void *)&playItf);
+    CheckErr(res);
+    res = (*player)->GetInterface(player, SL_IID_BUFFERQUEUE,
+            (void *)&bufferQueueItf);
+    CheckErr(res);
+
+    /* Setup to receive buffer queue event callbacks */
+    res = (*bufferQueueItf)->RegisterCallback(bufferQueueItf,
+            BufferQueueCallback, &cntxt /* BUG, was NULL */);
+    CheckErr(res);
+
+    /* Before we start set volume to -3dB (-300mB) */
+    if (volumeItf != NULL) { // ANDROID: Volume interface may not be supported.
+        res = (*volumeItf)->SetVolumeLevel(volumeItf, -300);
+        CheckErr(res);
+    }
+
+    /* Enqueue a few buffers to get the ball rolling */
+    res = (*bufferQueueItf)->Enqueue(bufferQueueItf, cntxt.pData,
+            sizeof(SLint16) * AUDIO_DATA_BUFFER_SIZE); /* Size given in bytes. */
+    CheckErr(res);
+    cntxt.pData += AUDIO_DATA_BUFFER_SIZE;
+    res = (*bufferQueueItf)->Enqueue(bufferQueueItf, cntxt.pData,
+            sizeof(SLint16) * AUDIO_DATA_BUFFER_SIZE); /* Size given in bytes. */
+    CheckErr(res);
+    cntxt.pData += AUDIO_DATA_BUFFER_SIZE;
+    res = (*bufferQueueItf)->Enqueue(bufferQueueItf, cntxt.pData,
+            sizeof(SLint16) * AUDIO_DATA_BUFFER_SIZE); /* Size given in bytes. */
+    CheckErr(res);
+    cntxt.pData += AUDIO_DATA_BUFFER_SIZE;
+
+    /* Play the PCM samples using a buffer queue */
+    res = (*playItf)->SetPlayState(playItf, SL_PLAYSTATE_PLAYING);
+    CheckErr(res);
+
+    /* Wait until the PCM data is done playing, the buffer queue callback
+       will continue to queue buffers until the entire PCM data has been
+       played. This is indicated by waiting for the count member of the
+       SLBufferQueueState to go to zero.
+     */
+    res = (*bufferQueueItf)->GetState(bufferQueueItf, &state);
+    CheckErr(res);
+
+    while (state.count) {
+        usleep(5 * 1000 /* usec */); // ANDROID: avoid busy waiting
+        (*bufferQueueItf)->GetState(bufferQueueItf, &state);
+    }
+
+    /* Make sure player is stopped */
+    res = (*playItf)->SetPlayState(playItf, SL_PLAYSTATE_STOPPED);
+    CheckErr(res);
+
+    /* Destroy the player */
+    (*player)->Destroy(player);
+
+    /* Destroy Output Mix object */
+    (*OutputMix)->Destroy(OutputMix);
+}
+
+extern "C" void Java_android_media_cts_AudioNativeTest_nativeAppendixBBufferQueue(
+        JNIEnv * /* env */, jclass /* clazz */)
+{
+    SLObjectItf engineObject = android::OpenSLEngine();
+    LOG_ALWAYS_FATAL_IF(engineObject == NULL, "cannot open OpenSL ES engine");
+
+    TestPlayMusicBufferQueue(engineObject);
+    android::CloseSLEngine(engineObject);
+}
diff --git a/tests/tests/media/libaudiojni/appendix-b-1-2-recording.cpp b/tests/tests/media/libaudiojni/appendix-b-1-2-recording.cpp
new file mode 100644
index 0000000..5f6f3aa
--- /dev/null
+++ b/tests/tests/media/libaudiojni/appendix-b-1-2-recording.cpp
@@ -0,0 +1,221 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "OpenSL-ES-Test-B-1-2-Recording"
+
+#include "sl-utils.h"
+
+/*
+ * See https://www.khronos.org/registry/sles/specs/OpenSL_ES_Specification_1.0.1.pdf
+ * Appendix B.1.2 sample code.
+ *
+ * Minor edits made to conform to Android coding style.
+ *
+ * Correction to code: SL_IID_AUDIOIODEVICECAPABILITIES is not supported.
+ * Detection of microphone should be made in Java layer.
+ */
+
+#define MAX_NUMBER_INTERFACES 5
+#define MAX_NUMBER_INPUT_DEVICES 3
+#define POSITION_UPDATE_PERIOD 1000 /* 1 sec */
+
+static void RecordEventCallback(SLRecordItf caller __unused,
+        void *pContext __unused,
+        SLuint32 recordevent __unused)
+{
+    /* Callback code goes here */
+}
+
+/*
+ * Test recording of audio from a microphone into a specified file
+ */
+static void TestAudioRecording(SLObjectItf sl)
+{
+    SLObjectItf recorder;
+    SLRecordItf recordItf;
+    SLEngineItf EngineItf;
+    SLAudioIODeviceCapabilitiesItf AudioIODeviceCapabilitiesItf;
+    SLAudioInputDescriptor AudioInputDescriptor;
+    SLresult res;
+
+    SLDataSource audioSource;
+    SLDataLocator_IODevice locator_mic;
+    SLDeviceVolumeItf devicevolumeItf;
+    SLDataSink audioSink;
+    SLDataLocator_URI uri;
+    SLDataFormat_MIME mime;
+
+    int i;
+    SLboolean required[MAX_NUMBER_INTERFACES];
+    SLInterfaceID iidArray[MAX_NUMBER_INTERFACES];
+
+    SLuint32 InputDeviceIDs[MAX_NUMBER_INPUT_DEVICES];
+    SLint32 numInputs = 0;
+    SLboolean mic_available = SL_BOOLEAN_FALSE;
+    SLuint32 mic_deviceID = 0;
+
+    /* Get the SL Engine Interface which is implicit */
+    res = (*sl)->GetInterface(sl, SL_IID_ENGINE, (void *)&EngineItf);
+    CheckErr(res);
+
+    AudioIODeviceCapabilitiesItf = NULL;
+    /* Get the Audio IO DEVICE CAPABILITIES interface, which is also
+       implicit */
+    res = (*sl)->GetInterface(sl, SL_IID_AUDIOIODEVICECAPABILITIES,
+            (void *)&AudioIODeviceCapabilitiesItf);
+    // ANDROID: obtaining SL_IID_AUDIOIODEVICECAPABILITIES may fail
+    if (AudioIODeviceCapabilitiesItf != NULL ) {
+        numInputs = MAX_NUMBER_INPUT_DEVICES;
+        res = (*AudioIODeviceCapabilitiesItf)->GetAvailableAudioInputs(
+                AudioIODeviceCapabilitiesItf, &numInputs, InputDeviceIDs);
+        CheckErr(res);
+        /* Search for either earpiece microphone or headset microphone input
+           device - with a preference for the latter */
+        for (i = 0; i < numInputs; i++) {
+            res = (*AudioIODeviceCapabilitiesItf)->QueryAudioInputCapabilities(
+                    AudioIODeviceCapabilitiesItf, InputDeviceIDs[i], &AudioInputDescriptor);
+            CheckErr(res);
+            if ((AudioInputDescriptor.deviceConnection == SL_DEVCONNECTION_ATTACHED_WIRED)
+                    && (AudioInputDescriptor.deviceScope == SL_DEVSCOPE_USER)
+                    && (AudioInputDescriptor.deviceLocation == SL_DEVLOCATION_HEADSET)) {
+                mic_deviceID = InputDeviceIDs[i];
+                mic_available = SL_BOOLEAN_TRUE;
+                break;
+            }
+            else if ((AudioInputDescriptor.deviceConnection == SL_DEVCONNECTION_INTEGRATED)
+                    && (AudioInputDescriptor.deviceScope == SL_DEVSCOPE_USER)
+                    && (AudioInputDescriptor.deviceLocation == SL_DEVLOCATION_HANDSET)) {
+                mic_deviceID = InputDeviceIDs[i];
+                mic_available = SL_BOOLEAN_TRUE;
+                break;
+            }
+        }
+    } else {
+        mic_deviceID = SL_DEFAULTDEVICEID_AUDIOINPUT;
+        mic_available = true;
+    }
+
+    /* If neither of the preferred input audio devices is available, no
+       point in continuing */
+    if (!mic_available) {
+        /* Appropriate error message here */
+        ALOGW("No microphone available");
+        return;
+    }
+
+    /* Initialize arrays required[] and iidArray[] */
+    for (i = 0; i < MAX_NUMBER_INTERFACES; i++) {
+        required[i] = SL_BOOLEAN_FALSE;
+        iidArray[i] = SL_IID_NULL;
+    }
+
+    // ANDROID: the following may fail for volume
+    devicevolumeItf = NULL;
+    /* Get the optional DEVICE VOLUME interface from the engine */
+    res = (*sl)->GetInterface(sl, SL_IID_DEVICEVOLUME,
+            (void *)&devicevolumeItf);
+
+    /* Set recording volume of the microphone to -3 dB */
+    if (devicevolumeItf != NULL) { // ANDROID: Volume may not be supported
+        res = (*devicevolumeItf)->SetVolume(devicevolumeItf, mic_deviceID, -300);
+        CheckErr(res);
+    }
+
+    /* Setup the data source structure */
+    locator_mic.locatorType = SL_DATALOCATOR_IODEVICE;
+    locator_mic.deviceType = SL_IODEVICE_AUDIOINPUT;
+    locator_mic.deviceID = mic_deviceID;
+    locator_mic.device= NULL;
+
+    audioSource.pLocator = (void *)&locator_mic;
+    audioSource.pFormat = NULL;
+
+#if 0
+    /* Setup the data sink structure */
+    uri.locatorType = SL_DATALOCATOR_URI;
+    uri.URI = (SLchar *) "file:///recordsample.wav";
+    mime.formatType = SL_DATAFORMAT_MIME;
+    mime.mimeType = (SLchar *) "audio/x-wav";
+    mime.containerType = SL_CONTAINERTYPE_WAV;
+    audioSink.pLocator = (void *)&uri;
+    audioSink.pFormat = (void *)&mime;
+#else
+    // FIXME: Android requires SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE
+    // because the recorder makes the distinction from SL_DATALOCATOR_BUFFERQUEUE
+    // which the player does not.
+    SLDataLocator_AndroidSimpleBufferQueue loc_bq = {
+            SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, 2
+    };
+    SLDataFormat_PCM format_pcm = {
+            SL_DATAFORMAT_PCM, 1, SL_SAMPLINGRATE_16,
+            SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
+            SL_SPEAKER_FRONT_LEFT, SL_BYTEORDER_LITTLEENDIAN
+    };
+    audioSink = { &loc_bq, &format_pcm };
+#endif
+
+    /* Create audio recorder */
+    res = (*EngineItf)->CreateAudioRecorder(EngineItf, &recorder,
+            &audioSource, &audioSink, 0, iidArray, required);
+    CheckErr(res);
+
+    /* Realizing the recorder in synchronous mode. */
+    res = (*recorder)->Realize(recorder, SL_BOOLEAN_FALSE);
+    CheckErr(res);
+
+    /* Get the RECORD interface - it is an implicit interface */
+    res = (*recorder)->GetInterface(recorder, SL_IID_RECORD, (void *)&recordItf);
+    CheckErr(res);
+
+    // ANDROID: Should register SL_IID_ANDROIDSIMPLEBUFFERQUEUE interface for callback.
+    // but does original SL_DATALOCATOR_BUFFERQUEUE variant work just as well ?
+
+    /* Setup to receive position event callbacks */
+    res = (*recordItf)->RegisterCallback(recordItf, RecordEventCallback, NULL);
+    CheckErr(res);
+
+    /* Set notifications to occur after every second - may be useful in
+       updating a recording progress bar */
+    res = (*recordItf)->SetPositionUpdatePeriod(recordItf, POSITION_UPDATE_PERIOD);
+    CheckErr(res);
+    res = (*recordItf)->SetCallbackEventsMask(recordItf, SL_RECORDEVENT_HEADATNEWPOS);
+    CheckErr(res);
+
+    /* Set the duration of the recording - 30 seconds (30,000
+       milliseconds) */
+    res = (*recordItf)->SetDurationLimit(recordItf, 30000);
+    CheckErr(res);
+
+    /* Record the audio */
+    res = (*recordItf)->SetRecordState(recordItf, SL_RECORDSTATE_RECORDING);
+    CheckErr(res);
+
+    // ANDROID: BUG - we don't wait for anything to record!
+
+    /* Destroy the recorder object */
+    (*recorder)->Destroy(recorder);
+}
+
+extern "C" void Java_android_media_cts_AudioNativeTest_nativeAppendixBRecording(
+        JNIEnv * /* env */, jclass /* clazz */)
+{
+    SLObjectItf engineObject = android::OpenSLEngine();
+    LOG_ALWAYS_FATAL_IF(engineObject == NULL, "cannot open OpenSL ES engine");
+
+    TestAudioRecording(engineObject);
+    android::CloseSLEngine(engineObject);
+}
diff --git a/tests/tests/media/libaudiojni/audio-record-native.cpp b/tests/tests/media/libaudiojni/audio-record-native.cpp
new file mode 100644
index 0000000..9103cdc
--- /dev/null
+++ b/tests/tests/media/libaudiojni/audio-record-native.cpp
@@ -0,0 +1,631 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "audio-record-native"
+
+#include "Blob.h"
+#include "Gate.h"
+#include "sl-utils.h"
+
+#include <deque>
+#include <utils/Errors.h>
+
+// Select whether to use STL shared pointer or to use Android strong pointer.
+// We really don't promote any sharing of this object for its lifetime, but nevertheless could
+// change the shared pointer value on the fly if desired.
+#define USE_SHARED_POINTER
+
+#ifdef USE_SHARED_POINTER
+#include <memory>
+template <typename T> using shared_pointer = std::shared_ptr<T>;
+#else
+#include <utils/RefBase.h>
+template <typename T> using shared_pointer = android::sp<T>;
+#endif
+
+using namespace android;
+
+// Must be kept in sync with Java android.media.cts.AudioRecordNative.ReadFlags
+enum {
+    READ_FLAG_BLOCKING = (1 << 0),
+};
+
+// buffer queue buffers on the OpenSL ES side.
+// The choice can be >= 1.  There is also internal buffering by AudioRecord.
+
+static const size_t BUFFER_SIZE_MSEC = 20;
+
+// TODO: Add a single buffer blocking read mode which does not require additional memory.
+// TODO: Add internal buffer memory (e.g. use circular buffer, right now mallocs on heap).
+
+class AudioRecordNative
+#ifndef USE_SHARED_POINTER
+        : public RefBase // android strong pointers require RefBase
+#endif
+{
+public:
+    AudioRecordNative() :
+        mEngineObj(NULL),
+        mEngine(NULL),
+        mRecordObj(NULL),
+        mRecord(NULL),
+        mBufferQueue(NULL),
+        mRecordState(SL_RECORDSTATE_STOPPED),
+        mBufferSize(0),
+        mNumBuffers(0)
+    { }
+
+    ~AudioRecordNative() {
+        close();
+    }
+
+    typedef std::lock_guard<std::recursive_mutex> auto_lock;
+
+    status_t open(uint32_t numChannels, uint32_t sampleRate, bool useFloat, uint32_t numBuffers) {
+        close();
+        auto_lock l(mLock);
+        mEngineObj = OpenSLEngine();
+        if (mEngineObj == NULL) {
+            ALOGW("cannot create OpenSL ES engine");
+            return INVALID_OPERATION;
+        }
+
+        SLresult res;
+        for (;;) {
+            /* Get the SL Engine Interface which is implicit */
+            res = (*mEngineObj)->GetInterface(mEngineObj, SL_IID_ENGINE, (void *)&mEngine);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            SLDataLocator_IODevice locator_mic;
+            /* Setup the data source structure */
+            locator_mic.locatorType = SL_DATALOCATOR_IODEVICE;
+            locator_mic.deviceType = SL_IODEVICE_AUDIOINPUT;
+            locator_mic.deviceID = SL_DEFAULTDEVICEID_AUDIOINPUT;
+            locator_mic.device= NULL;
+            SLDataSource audioSource;
+            audioSource.pLocator = (void *)&locator_mic;
+            audioSource.pFormat = NULL;
+
+            // FIXME: Android requires SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE
+            // because the recorder makes the distinction from SL_DATALOCATOR_BUFFERQUEUE
+            // which the player does not.
+            SLDataLocator_AndroidSimpleBufferQueue loc_bq = {
+                    SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, numBuffers
+            };
+#if 0
+            SLDataFormat_PCM pcm = {
+                    SL_DATAFORMAT_PCM, 1, SL_SAMPLINGRATE_16,
+                    SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
+                    SL_SPEAKER_FRONT_LEFT, SL_BYTEORDER_LITTLEENDIAN
+            };
+#else
+            SLAndroidDataFormat_PCM_EX pcm;
+            pcm.formatType = useFloat ? SL_ANDROID_DATAFORMAT_PCM_EX : SL_DATAFORMAT_PCM;
+            pcm.numChannels = numChannels;
+            pcm.sampleRate = sampleRate * 1000;
+            pcm.bitsPerSample = useFloat ?
+                    SL_PCMSAMPLEFORMAT_FIXED_32 : SL_PCMSAMPLEFORMAT_FIXED_16;
+            pcm.containerSize = pcm.bitsPerSample;
+            pcm.channelMask = channelCountToMask(numChannels);
+            pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
+            // additional
+            pcm.representation = useFloat ? SL_ANDROID_PCM_REPRESENTATION_FLOAT
+                                    : SL_ANDROID_PCM_REPRESENTATION_SIGNED_INT;
+#endif
+            SLDataSink audioSink;
+            audioSink = { &loc_bq, &pcm };
+
+            SLboolean required[2];
+            SLInterfaceID iidArray[2];
+            /* Request the AndroidSimpleBufferQueue and AndroidConfiguration interfaces */
+            required[0] = SL_BOOLEAN_TRUE;
+            iidArray[0] = SL_IID_ANDROIDSIMPLEBUFFERQUEUE;
+            required[1] = SL_BOOLEAN_TRUE;
+            iidArray[1] = SL_IID_ANDROIDCONFIGURATION;
+
+            ALOGV("creating recorder");
+            /* Create audio recorder */
+            res = (*mEngine)->CreateAudioRecorder(mEngine, &mRecordObj,
+                    &audioSource, &audioSink, 2, iidArray, required);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            ALOGV("realizing recorder");
+            /* Realizing the recorder in synchronous mode. */
+            res = (*mRecordObj)->Realize(mRecordObj, SL_BOOLEAN_FALSE /* async */);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            ALOGV("geting record interface");
+            /* Get the RECORD interface - it is an implicit interface */
+            res = (*mRecordObj)->GetInterface(mRecordObj, SL_IID_RECORD, (void *)&mRecord);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            ALOGV("geting buffer queue interface");
+            /* Get the buffer queue interface which was explicitly requested */
+            res = (*mRecordObj)->GetInterface(mRecordObj, SL_IID_ANDROIDSIMPLEBUFFERQUEUE,
+                    (void *)&mBufferQueue);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            ALOGV("registering buffer queue interface");
+            /* Setup to receive buffer queue event callbacks */
+            res = (*mBufferQueue)->RegisterCallback(mBufferQueue, BufferQueueCallback, this);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            mBufferSize = (BUFFER_SIZE_MSEC * sampleRate / 1000)
+                    * numChannels * (useFloat ? sizeof(float) : sizeof(int16_t));
+            mNumBuffers = numBuffers;
+            // success
+            break;
+        }
+        if (res != SL_RESULT_SUCCESS) {
+            close(); // should be safe to close even with lock held
+            ALOGW("open error %s", android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        return OK;
+    }
+
+    void close() {
+        SLObjectItf engineObj;
+        SLObjectItf recordObj;
+        {
+            auto_lock l(mLock);
+            (void)stop();
+            // once stopped, we can unregister the callback
+            if (mBufferQueue != NULL) {
+                (void)(*mBufferQueue)->RegisterCallback(
+                        mBufferQueue, NULL /* callback */, NULL /* *pContext */);
+            }
+            (void)flush();
+            engineObj = mEngineObj;
+            recordObj = mRecordObj;
+            // clear out interfaces and objects
+            mRecord = NULL;
+            mBufferQueue = NULL;
+            mEngine = NULL;
+            mRecordObj = NULL;
+            mEngineObj = NULL;
+            mRecordState = SL_RECORDSTATE_STOPPED;
+            mBufferSize = 0;
+            mNumBuffers = 0;
+        }
+        // destroy without lock
+        if (recordObj != NULL) {
+            (*recordObj)->Destroy(recordObj);
+        }
+        if (engineObj) {
+            CloseSLEngine(engineObj);
+        }
+    }
+
+    status_t setRecordState(SLuint32 recordState) {
+        auto_lock l(mLock);
+        if (mRecord == NULL) {
+            return INVALID_OPERATION;
+        }
+        if (recordState == SL_RECORDSTATE_RECORDING) {
+            queueBuffers();
+        }
+        SLresult res = (*mRecord)->SetRecordState(mRecord, recordState);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("setRecordState %d error %s", recordState, android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        mRecordState = recordState;
+        return OK;
+    }
+
+    SLuint32 getRecordState() {
+        auto_lock l(mLock);
+        if (mRecord == NULL) {
+            return SL_RECORDSTATE_STOPPED;
+        }
+        SLuint32 recordState;
+        SLresult res = (*mRecord)->GetRecordState(mRecord, &recordState);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("getRecordState error %s", android::getSLErrStr(res));
+            return SL_RECORDSTATE_STOPPED;
+        }
+        return recordState;
+    }
+
+    status_t getPositionInMsec(int64_t *position) {
+        auto_lock l(mLock);
+        if (mRecord == NULL) {
+            return INVALID_OPERATION;
+        }
+        if (position == NULL) {
+            return BAD_VALUE;
+        }
+        SLuint32 pos;
+        SLresult res = (*mRecord)->GetPosition(mRecord, &pos);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("getPosition error %s", android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        // only lower 32 bits valid
+        *position = pos;
+        return OK;
+    }
+
+    status_t start() {
+        return setRecordState(SL_RECORDSTATE_RECORDING);
+    }
+
+    status_t pause() {
+        return setRecordState(SL_RECORDSTATE_PAUSED);
+    }
+
+    status_t stop() {
+        return setRecordState(SL_RECORDSTATE_STOPPED);
+    }
+
+    status_t flush() {
+        auto_lock l(mLock);
+        status_t result = OK;
+        if (mBufferQueue != NULL) {
+            SLresult res = (*mBufferQueue)->Clear(mBufferQueue);
+            if (res != SL_RESULT_SUCCESS) {
+                return INVALID_OPERATION;
+            }
+        }
+        mReadyQueue.clear();
+        // possible race if the engine is in the callback
+        // safety is only achieved if the recorder is paused or stopped.
+        mDeliveredQueue.clear();
+        mReadBlob = NULL;
+        mReadReady.terminate();
+        return result;
+    }
+
+    ssize_t read(void *buffer, size_t size, bool blocking = false) {
+        std::lock_guard<std::mutex> rl(mReadLock);
+        // not needed if we assume that a single thread is doing the reading
+        // or we always operate in non-blocking mode.
+
+        ALOGV("reading:%p  %zu", buffer, size);
+        size_t copied;
+        std::shared_ptr<Blob> blob;
+        {
+            auto_lock l(mLock);
+            if (mEngine == NULL) {
+                return INVALID_OPERATION;
+            }
+            size_t osize = size;
+            while (!mReadyQueue.empty() && size > 0) {
+                auto b = mReadyQueue.front();
+                size_t tocopy = min(size, b->mSize - b->mOffset);
+                // ALOGD("buffer:%p  size:%zu  b->mSize:%zu  b->mOffset:%zu tocopy:%zu ",
+                //        buffer, size, b->mSize, b->mOffset, tocopy);
+                memcpy(buffer, (char *)b->mData + b->mOffset, tocopy);
+                buffer = (char *)buffer + tocopy;
+                size -= tocopy;
+                b->mOffset += tocopy;
+                if (b->mOffset == b->mSize) {
+                    mReadyQueue.pop_front();
+                }
+            }
+            copied = osize - size;
+            if (!blocking || size == 0 || mReadBlob.get() != NULL) {
+                return copied;
+            }
+            blob = std::make_shared<Blob>(buffer, size);
+            mReadBlob = blob;
+            mReadReady.closeGate(); // the callback will open gate when read is completed.
+        }
+        if (mReadReady.wait()) {
+            // success then the blob is ours with valid data otherwise a flush has occurred
+            // and we return a short count.
+            copied += blob->mOffset;
+        }
+        return copied;
+    }
+
+    void logBufferState() {
+        auto_lock l(mLock);
+        SLBufferQueueState state;
+        SLresult res = (*mBufferQueue)->GetState(mBufferQueue, &state);
+        CheckErr(res);
+        ALOGD("logBufferState state.count:%d  state.playIndex:%d", state.count, state.playIndex);
+    }
+
+    size_t getBuffersPending() {
+        auto_lock l(mLock);
+        return mReadyQueue.size();
+    }
+
+private:
+    status_t queueBuffers() {
+        if (mBufferQueue == NULL) {
+            return INVALID_OPERATION;
+        }
+        if (mReadyQueue.size() + mDeliveredQueue.size() < mNumBuffers) {
+            // add new empty buffer
+            auto b = std::make_shared<Blob>(mBufferSize);
+            mDeliveredQueue.emplace_back(b);
+            (*mBufferQueue)->Enqueue(mBufferQueue, b->mData, b->mSize);
+        }
+        return OK;
+    }
+
+    void bufferQueueCallback(SLBufferQueueItf queueItf) {
+        auto_lock l(mLock);
+        if (queueItf != mBufferQueue) {
+            ALOGW("invalid buffer queue interface, ignoring");
+            return;
+        }
+        // logBufferState();
+
+        // remove from delivered queue
+        if (mDeliveredQueue.size()) {
+            auto b = mDeliveredQueue.front();
+            mDeliveredQueue.pop_front();
+            if (mReadBlob.get() != NULL) {
+                size_t tocopy = min(mReadBlob->mSize - mReadBlob->mOffset, b->mSize - b->mOffset);
+                memcpy((char *)mReadBlob->mData + mReadBlob->mOffset,
+                        (char *)b->mData + b->mOffset, tocopy);
+                b->mOffset += tocopy;
+                mReadBlob->mOffset += tocopy;
+                if (mReadBlob->mOffset == mReadBlob->mSize) {
+                    mReadBlob = NULL;      // we're done, clear our reference.
+                    mReadReady.openGate(); // allow read to continue.
+                }
+                if (b->mOffset == b->mSize) {
+                    b = NULL;
+                }
+            }
+            if (b.get() != NULL) {
+                if (mReadyQueue.size() + mDeliveredQueue.size() < mNumBuffers) {
+                    mReadyQueue.emplace_back(b); // save onto ready queue for future reads
+                } else {
+                    ALOGW("dropping data");
+                }
+            }
+        } else {
+            ALOGW("no delivered data!");
+        }
+        queueBuffers();
+    }
+
+    static void BufferQueueCallback(SLBufferQueueItf queueItf, void *pContext) {
+        SLresult res;
+        // naked native record
+        AudioRecordNative *record = (AudioRecordNative *)pContext;
+        record->bufferQueueCallback(queueItf);
+    }
+
+    SLObjectItf           mEngineObj;
+    SLEngineItf           mEngine;
+    SLObjectItf           mRecordObj;
+    SLRecordItf           mRecord;
+    SLBufferQueueItf      mBufferQueue;
+    SLuint32              mRecordState;
+    size_t                mBufferSize;
+    size_t                mNumBuffers;
+    std::recursive_mutex  mLock;          // monitor lock - locks public API methods and callback.
+                                          // recursive since it may call itself through API.
+    std::mutex            mReadLock;      // read lock - for blocking mode, prevents multiple
+                                          // reader threads from overlapping reads.  this is
+                                          // generally unnecessary as reads occur from
+                                          // one thread only.  acquire this before mLock.
+    std::shared_ptr<Blob> mReadBlob;
+    Gate                  mReadReady;
+    std::deque<std::shared_ptr<Blob>> mReadyQueue;     // ready for read.
+    std::deque<std::shared_ptr<Blob>> mDeliveredQueue; // delivered to BufferQueue
+};
+
+/* Java static methods.
+ *
+ * These are not directly exposed to the user, so we can assume a valid "jrecord" handle
+ * to be passed in.
+ */
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeTest(
+    JNIEnv * /* env */, jclass /* clazz */,
+    jint numChannels, jint sampleRate, jboolean useFloat,
+    jint msecPerBuffer, jint numBuffers)
+{
+    AudioRecordNative record;
+    const size_t frameSize = numChannels * (useFloat ? sizeof(float) : sizeof(int16_t));
+    const size_t framesPerBuffer = msecPerBuffer * sampleRate / 1000;
+
+    status_t res;
+    void *buffer = calloc(framesPerBuffer * numBuffers, frameSize);
+    for (;;) {
+        res = record.open(numChannels, sampleRate, useFloat, numBuffers);
+        if (res != OK) break;
+
+        record.logBufferState();
+        res = record.start();
+        if (res != OK) break;
+
+        size_t size = framesPerBuffer * numBuffers * frameSize;
+        for (size_t offset = 0; size - offset > 0; ) {
+            ssize_t amount = record.read((char *)buffer + offset, size -offset);
+            // ALOGD("read amount: %zd", amount);
+            if (amount < 0) break;
+            offset += amount;
+            usleep(5 * 1000 /* usec */);
+        }
+
+        res = record.stop();
+        break;
+    }
+    record.close();
+    free(buffer);
+    return res;
+}
+
+extern "C" jlong Java_android_media_cts_AudioRecordNative_nativeCreateRecord(
+    JNIEnv * /* env */, jclass /* clazz */)
+{
+    return (jlong)(new shared_pointer<AudioRecordNative>(new AudioRecordNative()));
+}
+
+extern "C" void Java_android_media_cts_AudioRecordNative_nativeDestroyRecord(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    delete (shared_pointer<AudioRecordNative> *)jrecord;
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeOpen(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord,
+    jint numChannels, jint sampleRate, jboolean useFloat, jint numBuffers)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)record->open(numChannels, sampleRate, useFloat == JNI_TRUE,
+            numBuffers);
+}
+
+extern "C" void Java_android_media_cts_AudioRecordNative_nativeClose(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() != NULL) {
+        record->close();
+    }
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeStart(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)record->start();
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeStop(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)record->stop();
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativePause(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)record->pause();
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeFlush(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)record->flush();
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeGetPositionInMsec(
+    JNIEnv *env, jclass /* clazz */, jlong jrecord, jlongArray jPosition)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    int64_t pos;
+    status_t res = record->getPositionInMsec(&pos);
+    if (res != OK) {
+        return res;
+    }
+    jlong *nPostition = (jlong *) env->GetPrimitiveArrayCritical(jPosition, NULL /* isCopy */);
+    if (nPostition == NULL) {
+        ALOGE("Unable to get array for nativeGetPositionInMsec()");
+        return BAD_VALUE;
+    }
+    nPostition[0] = (jlong)pos;
+    env->ReleasePrimitiveArrayCritical(jPosition, nPostition, 0 /* mode */);
+    return OK;
+}
+
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeGetBuffersPending(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jrecord)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)0;
+    }
+    return (jint)record->getBuffersPending();
+}
+
+template <typename T>
+static inline jint readFromRecord(jlong jrecord, T *data,
+    jint offsetInSamples, jint sizeInSamples, jint readFlags)
+{
+    auto record = *(shared_pointer<AudioRecordNative> *)jrecord;
+    if (record.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+
+    const bool isBlocking = readFlags & READ_FLAG_BLOCKING;
+    const size_t sizeInBytes = sizeInSamples * sizeof(T);
+    ssize_t ret = record->read(data + offsetInSamples, sizeInBytes, isBlocking == JNI_TRUE);
+    return (jint)(ret > 0 ? ret / sizeof(T) : ret);
+}
+
+template <typename T>
+static inline jint readArray(JNIEnv *env, jclass /* clazz */, jlong jrecord,
+        T javaAudioData, jint offsetInSamples, jint sizeInSamples, jint readFlags)
+{
+    if (javaAudioData == NULL) {
+        return (jint)BAD_VALUE;
+    }
+
+    auto cAudioData = envGetArrayElements(env, javaAudioData, NULL /* isCopy */);
+    if (cAudioData == NULL) {
+        ALOGE("Error retrieving destination of audio data to record");
+        return (jint)BAD_VALUE;
+    }
+
+    jint ret = readFromRecord(jrecord, cAudioData, offsetInSamples, sizeInSamples, readFlags);
+    envReleaseArrayElements(env, javaAudioData, cAudioData, 0 /* mode */);
+    return ret;
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeReadByteArray(
+    JNIEnv *env, jclass clazz, jlong jrecord,
+    jbyteArray byteArray, jint offsetInSamples, jint sizeInSamples, jint readFlags)
+{
+    return readArray(env, clazz, jrecord, byteArray, offsetInSamples, sizeInSamples, readFlags);
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeReadShortArray(
+    JNIEnv *env, jclass clazz, jlong jrecord,
+    jshortArray shortArray, jint offsetInSamples, jint sizeInSamples, jint readFlags)
+{
+    return readArray(env, clazz, jrecord, shortArray, offsetInSamples, sizeInSamples, readFlags);
+}
+
+extern "C" jint Java_android_media_cts_AudioRecordNative_nativeReadFloatArray(
+    JNIEnv *env, jclass clazz, jlong jrecord,
+    jfloatArray floatArray, jint offsetInSamples, jint sizeInSamples, jint readFlags)
+{
+    return readArray(env, clazz, jrecord, floatArray, offsetInSamples, sizeInSamples, readFlags);
+}
diff --git a/tests/tests/media/libaudiojni/audio-track-native.cpp b/tests/tests/media/libaudiojni/audio-track-native.cpp
new file mode 100644
index 0000000..d51a751
--- /dev/null
+++ b/tests/tests/media/libaudiojni/audio-track-native.cpp
@@ -0,0 +1,579 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "audio-track-native"
+
+#include "Blob.h"
+#include "Gate.h"
+#include "sl-utils.h"
+
+#include <deque>
+#include <utils/Errors.h>
+
+// Select whether to use STL shared pointer or to use Android strong pointer.
+// We really don't promote any sharing of this object for its lifetime, but nevertheless could
+// change the shared pointer value on the fly if desired.
+#define USE_SHARED_POINTER
+
+#ifdef USE_SHARED_POINTER
+#include <memory>
+template <typename T> using shared_pointer = std::shared_ptr<T>;
+#else
+#include <utils/RefBase.h>
+template <typename T> using shared_pointer = android::sp<T>;
+#endif
+
+using namespace android;
+
+// Must be kept in sync with Java android.media.cts.AudioTrackNative.WriteFlags
+enum {
+    WRITE_FLAG_BLOCKING = (1 << 0),
+};
+
+// TODO: Add a single buffer blocking write mode which does not require additional memory.
+// TODO: Add internal buffer memory (e.g. use circular buffer, right now mallocs on heap).
+
+class AudioTrackNative
+#ifndef USE_SHARED_POINTER
+        : public RefBase // android strong pointers require RefBase
+#endif
+{
+public:
+    AudioTrackNative() :
+        mEngineObj(NULL),
+        mEngine(NULL),
+        mOutputMixObj(NULL),
+        mPlayerObj(NULL),
+        mPlay(NULL),
+        mBufferQueue(NULL),
+        mPlayState(SL_PLAYSTATE_STOPPED),
+        mNumBuffers(0)
+    { }
+
+    ~AudioTrackNative() {
+        close();
+    }
+
+    typedef std::lock_guard<std::recursive_mutex> auto_lock;
+
+    status_t open(uint32_t numChannels, uint32_t sampleRate, bool useFloat,
+            uint32_t numBuffers) {
+        close();
+        auto_lock l(mLock);
+        mEngineObj = OpenSLEngine();
+        if (mEngineObj == NULL) {
+            ALOGW("cannot create OpenSL ES engine");
+            return INVALID_OPERATION;
+        }
+
+        SLresult res;
+        for (;;) {
+            /* Get the SL Engine Interface which is implicit */
+            res = (*mEngineObj)->GetInterface(mEngineObj, SL_IID_ENGINE, (void *)&mEngine);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            // Create Output Mix object to be used by player
+            res = (*mEngine)->CreateOutputMix(
+                    mEngine, &mOutputMixObj, 0 /* numInterfaces */,
+                    NULL /* pInterfaceIds */, NULL /* pInterfaceRequired */);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            // Realizing the Output Mix object in synchronous mode.
+            res = (*mOutputMixObj)->Realize(mOutputMixObj, SL_BOOLEAN_FALSE /* async */);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            /* Setup the data source structure for the buffer queue */
+            SLDataLocator_BufferQueue bufferQueue;
+            bufferQueue.locatorType = SL_DATALOCATOR_BUFFERQUEUE;
+            bufferQueue.numBuffers = numBuffers;
+            mNumBuffers = numBuffers;
+
+            /* Setup the format of the content in the buffer queue */
+
+            SLAndroidDataFormat_PCM_EX pcm;
+            pcm.formatType = useFloat ? SL_ANDROID_DATAFORMAT_PCM_EX : SL_DATAFORMAT_PCM;
+            pcm.numChannels = numChannels;
+            pcm.sampleRate = sampleRate * 1000;
+            pcm.bitsPerSample = useFloat ?
+                    SL_PCMSAMPLEFORMAT_FIXED_32 : SL_PCMSAMPLEFORMAT_FIXED_16;
+            pcm.containerSize = pcm.bitsPerSample;
+            pcm.channelMask = channelCountToMask(numChannels);
+            pcm.endianness = SL_BYTEORDER_LITTLEENDIAN;
+            // additional
+            pcm.representation = useFloat ? SL_ANDROID_PCM_REPRESENTATION_FLOAT
+                                    : SL_ANDROID_PCM_REPRESENTATION_SIGNED_INT;
+            SLDataSource audioSource;
+            audioSource.pFormat = (void *)&pcm;
+            audioSource.pLocator = (void *)&bufferQueue;
+
+            /* Setup the data sink structure */
+            SLDataLocator_OutputMix locator_outputmix;
+            locator_outputmix.locatorType = SL_DATALOCATOR_OUTPUTMIX;
+            locator_outputmix.outputMix = mOutputMixObj;
+
+            SLDataSink audioSink;
+            audioSink.pLocator = (void *)&locator_outputmix;
+            audioSink.pFormat = NULL;
+
+            SLboolean required[1];
+            SLInterfaceID iidArray[1];
+            required[0] = SL_BOOLEAN_TRUE;
+            iidArray[0] = SL_IID_BUFFERQUEUE;
+
+            res = (*mEngine)->CreateAudioPlayer(mEngine, &mPlayerObj,
+                    &audioSource, &audioSink, 1 /* numInterfaces */, iidArray, required);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            res = (*mPlayerObj)->Realize(mPlayerObj, SL_BOOLEAN_FALSE /* async */);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            res = (*mPlayerObj)->GetInterface(mPlayerObj, SL_IID_PLAY, (void*)&mPlay);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            res = (*mPlayerObj)->GetInterface(
+                    mPlayerObj, SL_IID_BUFFERQUEUE, (void*)&mBufferQueue);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            /* Setup to receive buffer queue event callbacks */
+            res = (*mBufferQueue)->RegisterCallback(mBufferQueue, BufferQueueCallback, this);
+            if (res != SL_RESULT_SUCCESS) break;
+
+            // success
+            break;
+        }
+        if (res != SL_RESULT_SUCCESS) {
+            close(); // should be safe to close even with lock held
+            ALOGW("open error %s", android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        return OK;
+    }
+
+    void close() {
+        SLObjectItf engineObj;
+        SLObjectItf outputMixObj;
+        SLObjectItf playerObj;
+        {
+            auto_lock l(mLock);
+            if (mPlay != NULL && mPlayState != SL_PLAYSTATE_STOPPED) {
+                (void)stop();
+            }
+            // once stopped, we can unregister the callback
+            if (mBufferQueue != NULL) {
+                (void)(*mBufferQueue)->RegisterCallback(
+                        mBufferQueue, NULL /* callback */, NULL /* *pContext */);
+            }
+            (void)flush();
+            engineObj = mEngineObj;
+            outputMixObj = mOutputMixObj;
+            playerObj = mPlayerObj;
+            // clear out interfaces and objects
+            mPlay = NULL;
+            mBufferQueue = NULL;
+            mEngine = NULL;
+            mPlayerObj = NULL;
+            mOutputMixObj = NULL;
+            mEngineObj = NULL;
+            mPlayState = SL_PLAYSTATE_STOPPED;
+        }
+        // destroy without lock
+        if (playerObj != NULL) {
+            (*playerObj)->Destroy(playerObj);
+        }
+        if (outputMixObj != NULL) {
+            (*outputMixObj)->Destroy(outputMixObj);
+        }
+        if (engineObj != NULL) {
+            CloseSLEngine(engineObj);
+        }
+    }
+
+    status_t setPlayState(SLuint32 playState) {
+        auto_lock l(mLock);
+        if (mPlay == NULL) {
+            return INVALID_OPERATION;
+        }
+        SLresult res = (*mPlay)->SetPlayState(mPlay, playState);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("setPlayState %d error %s", playState, android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        mPlayState = playState;
+        return OK;
+    }
+
+    SLuint32 getPlayState() {
+        auto_lock l(mLock);
+        if (mPlay == NULL) {
+            return SL_PLAYSTATE_STOPPED;
+        }
+        SLuint32 playState;
+        SLresult res = (*mPlay)->GetPlayState(mPlay, &playState);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("getPlayState error %s", android::getSLErrStr(res));
+            return SL_PLAYSTATE_STOPPED;
+        }
+        return playState;
+    }
+
+    status_t getPositionInMsec(int64_t *position) {
+        auto_lock l(mLock);
+        if (mPlay == NULL) {
+            return INVALID_OPERATION;
+        }
+        if (position == NULL) {
+            return BAD_VALUE;
+        }
+        SLuint32 pos;
+        SLresult res = (*mPlay)->GetPosition(mPlay, &pos);
+        if (res != SL_RESULT_SUCCESS) {
+            ALOGW("getPosition error %s", android::getSLErrStr(res));
+            return INVALID_OPERATION;
+        }
+        // only lower 32 bits valid
+        *position = pos;
+        return OK;
+    }
+
+    status_t start() {
+        return setPlayState(SL_PLAYSTATE_PLAYING);
+    }
+
+    status_t pause() {
+        return setPlayState(SL_PLAYSTATE_PAUSED);
+    }
+
+    status_t stop() {
+        return setPlayState(SL_PLAYSTATE_STOPPED);
+    }
+
+    status_t flush() {
+        auto_lock l(mLock);
+        status_t result = OK;
+        if (mBufferQueue != NULL) {
+            SLresult res = (*mBufferQueue)->Clear(mBufferQueue);
+            if (res != SL_RESULT_SUCCESS) {
+                return INVALID_OPERATION;
+            }
+        }
+
+        // possible race if the engine is in the callback
+        // safety is only achieved if the player is paused or stopped.
+        mDeliveredQueue.clear();
+        return result;
+    }
+
+    status_t write(const void *buffer, size_t size, bool isBlocking = false) {
+        std::lock_guard<std::mutex> rl(mWriteLock);
+        // not needed if we assume that a single thread is doing the reading
+        // or we always operate in non-blocking mode.
+
+        {
+            auto_lock l(mLock);
+            if (mBufferQueue == NULL) {
+                return INVALID_OPERATION;
+            }
+            if (mDeliveredQueue.size() < mNumBuffers) {
+                auto b = std::make_shared<BlobReadOnly>(buffer, size, false /* byReference */);
+                mDeliveredQueue.emplace_back(b);
+                (*mBufferQueue)->Enqueue(mBufferQueue, b->mData, b->mSize);
+                return size;
+            }
+            if (!isBlocking) {
+                return 0;
+            }
+            mWriteReady.closeGate(); // we're full.
+        }
+        if (mWriteReady.wait()) {
+            auto_lock l(mLock);
+            if (mDeliveredQueue.size() < mNumBuffers) {
+                auto b = std::make_shared<BlobReadOnly>(buffer, size, false /* byReference */);
+                mDeliveredQueue.emplace_back(b);
+                (*mBufferQueue)->Enqueue(mBufferQueue, b->mData, b->mSize);
+                return size;
+            }
+        }
+        ALOGW("unable to deliver write");
+        return 0;
+    }
+
+    void logBufferState() {
+        auto_lock l(mLock);
+        SLBufferQueueState state;
+        SLresult res = (*mBufferQueue)->GetState(mBufferQueue, &state);
+        CheckErr(res);
+        ALOGD("logBufferState state.count:%d  state.playIndex:%d", state.count, state.playIndex);
+    }
+
+    size_t getBuffersPending() {
+        auto_lock l(mLock);
+        return mDeliveredQueue.size();
+    }
+
+private:
+    void bufferQueueCallback(SLBufferQueueItf queueItf) {
+        auto_lock l(mLock);
+        if (queueItf != mBufferQueue) {
+            ALOGW("invalid buffer queue interface, ignoring");
+            return;
+        }
+        // logBufferState();
+
+        // remove from delivered queue
+        if (mDeliveredQueue.size()) {
+            mDeliveredQueue.pop_front();
+        } else {
+            ALOGW("no delivered data!");
+        }
+        if (!mWriteReady.isOpen()) {
+            mWriteReady.openGate();
+        }
+    }
+
+    static void BufferQueueCallback(SLBufferQueueItf queueItf, void *pContext) {
+        SLresult res;
+        // naked native track
+        AudioTrackNative *track = (AudioTrackNative *)pContext;
+        track->bufferQueueCallback(queueItf);
+    }
+
+    SLObjectItf          mEngineObj;
+    SLEngineItf          mEngine;
+    SLObjectItf          mOutputMixObj;
+    SLObjectItf          mPlayerObj;
+    SLPlayItf            mPlay;
+    SLBufferQueueItf     mBufferQueue;
+    SLuint32             mPlayState;
+    SLuint32             mNumBuffers;
+    std::recursive_mutex mLock;           // monitor lock - locks public API methods and callback.
+                                          // recursive since it may call itself through API.
+    std::mutex           mWriteLock;      // write lock - for blocking mode, prevents multiple
+                                          // writer threads from overlapping writes.  this is
+                                          // generally unnecessary as writes occur from
+                                          // one thread only.  acquire this before mLock.
+    Gate                 mWriteReady;
+    std::deque<std::shared_ptr<BlobReadOnly>> mDeliveredQueue; // delivered to mBufferQueue
+};
+
+/* Java static methods.
+ *
+ * These are not directly exposed to the user, so we can assume a valid "jtrack" handle
+ * to be passed in.
+ */
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeTest(
+    JNIEnv * /* env */, jclass /* clazz */,
+    jint numChannels, jint sampleRate, jboolean useFloat,
+    jint msecPerBuffer, jint numBuffers)
+{
+    AudioTrackNative track;
+    const size_t frameSize = numChannels * (useFloat ? sizeof(float) : sizeof(int16_t));
+    const size_t framesPerBuffer = msecPerBuffer * sampleRate / 1000;
+
+    status_t res;
+    void *buffer = calloc(framesPerBuffer * numBuffers, frameSize);
+    for (;;) {
+        res = track.open(numChannels, sampleRate, useFloat, numBuffers);
+        if (res != OK) break;
+
+        for (int i = 0; i < numBuffers; ++i) {
+            track.write((char *)buffer + i * (framesPerBuffer * frameSize),
+                    framesPerBuffer * frameSize);
+        }
+
+        track.logBufferState();
+        res = track.start();
+        if (res != OK) break;
+
+        size_t buffers;
+        while ((buffers = track.getBuffersPending()) > 0) {
+            // ALOGD("outstanding buffers: %zu", buffers);
+            usleep(5 * 1000 /* usec */);
+        }
+        res = track.stop();
+        break;
+    }
+    track.close();
+    free(buffer);
+    return res;
+}
+
+extern "C" jlong Java_android_media_cts_AudioTrackNative_nativeCreateTrack(
+    JNIEnv * /* env */, jclass /* clazz */)
+{
+    return (jlong)(new shared_pointer<AudioTrackNative>(new AudioTrackNative()));
+}
+
+extern "C" void Java_android_media_cts_AudioTrackNative_nativeDestroyTrack(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    delete (shared_pointer<AudioTrackNative> *)jtrack;
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeOpen(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack,
+    jint numChannels, jint sampleRate, jboolean useFloat, jint numBuffers)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)track->open(numChannels, sampleRate, useFloat == JNI_TRUE,
+            numBuffers);
+}
+
+extern "C" void Java_android_media_cts_AudioTrackNative_nativeClose(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() != NULL) {
+        track->close();
+    }
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeStart(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)track->start();
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeStop(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)track->stop();
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativePause(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)track->pause();
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeFlush(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    return (jint)track->flush();
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeGetPositionInMsec(
+    JNIEnv *env, jclass /* clazz */, jlong jtrack, jlongArray jPosition)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+    int64_t pos;
+    status_t res = track->getPositionInMsec(&pos);
+    if (res != OK) {
+        return res;
+    }
+    jlong *nPostition = (jlong *) env->GetPrimitiveArrayCritical(jPosition, NULL /* isCopy */);
+    if (nPostition == NULL) {
+        ALOGE("Unable to get array for nativeGetPositionInMsec()");
+        return BAD_VALUE;
+    }
+    nPostition[0] = (jlong)pos;
+    env->ReleasePrimitiveArrayCritical(jPosition, nPostition, 0 /* mode */);
+    return OK;
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeGetBuffersPending(
+    JNIEnv * /* env */, jclass /* clazz */, jlong jtrack)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)0;
+    }
+    return (jint)track->getBuffersPending();
+}
+
+template <typename T>
+static inline jint writeToTrack(jlong jtrack, const T *data,
+    jint offsetInSamples, jint sizeInSamples, jint writeFlags)
+{
+    auto track = *(shared_pointer<AudioTrackNative> *)jtrack;
+    if (track.get() == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+
+    const bool isBlocking = writeFlags & WRITE_FLAG_BLOCKING;
+    const size_t sizeInBytes = sizeInSamples * sizeof(T);
+    ssize_t ret = track->write(data + offsetInSamples, sizeInBytes, isBlocking);
+    return (jint)(ret > 0 ? ret / sizeof(T) : ret);
+}
+
+template <typename T>
+static inline jint writeArray(JNIEnv *env, jclass /* clazz */, jlong jtrack,
+        T javaAudioData, jint offsetInSamples, jint sizeInSamples, jint writeFlags)
+{
+    if (javaAudioData == NULL) {
+        return (jint)INVALID_OPERATION;
+    }
+
+    auto cAudioData = envGetArrayElements(env, javaAudioData, NULL /* isCopy */);
+    if (cAudioData == NULL) {
+        ALOGE("Error retrieving source of audio data to play");
+        return (jint)BAD_VALUE;
+    }
+
+    jint ret = writeToTrack(jtrack, cAudioData, offsetInSamples, sizeInSamples, writeFlags);
+    envReleaseArrayElements(env, javaAudioData, cAudioData, 0 /* mode */);
+    return ret;
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeWriteByteArray(
+    JNIEnv *env, jclass clazz, jlong jtrack,
+    jbyteArray byteArray, jint offsetInSamples, jint sizeInSamples, jint writeFlags)
+{
+    ALOGV("nativeWriteByteArray(%p, %d, %d, %d)",
+            byteArray, offsetInSamples, sizeInSamples, writeFlags);
+    return writeArray(env, clazz, jtrack, byteArray, offsetInSamples, sizeInSamples, writeFlags);
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeWriteShortArray(
+    JNIEnv *env, jclass clazz, jlong jtrack,
+    jshortArray shortArray, jint offsetInSamples, jint sizeInSamples, jint writeFlags)
+{
+    ALOGV("nativeWriteShortArray(%p, %d, %d, %d)",
+            shortArray, offsetInSamples, sizeInSamples, writeFlags);
+    return writeArray(env, clazz, jtrack, shortArray, offsetInSamples, sizeInSamples, writeFlags);
+}
+
+extern "C" jint Java_android_media_cts_AudioTrackNative_nativeWriteFloatArray(
+    JNIEnv *env, jclass clazz, jlong jtrack,
+    jfloatArray floatArray, jint offsetInSamples, jint sizeInSamples, jint writeFlags)
+{
+    ALOGV("nativeWriteFloatArray(%p, %d, %d, %d)",
+            floatArray, offsetInSamples, sizeInSamples, writeFlags);
+    return writeArray(env, clazz, jtrack, floatArray, offsetInSamples, sizeInSamples, writeFlags);
+}
diff --git a/tests/tests/media/libaudiojni/sl-utils.cpp b/tests/tests/media/libaudiojni/sl-utils.cpp
new file mode 100644
index 0000000..1aa89ba
--- /dev/null
+++ b/tests/tests/media/libaudiojni/sl-utils.cpp
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+//#define LOG_NDEBUG 0
+#define LOG_TAG "SL-Utils"
+
+#include "sl-utils.h"
+#include <utils/Mutex.h>
+
+#define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
+
+// These will wind up in <SLES/OpenSLES_Android.h>
+#define SL_ANDROID_SPEAKER_QUAD (SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT \
+ | SL_SPEAKER_BACK_LEFT | SL_SPEAKER_BACK_RIGHT)
+
+#define SL_ANDROID_SPEAKER_5DOT1 (SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT \
+ | SL_SPEAKER_FRONT_CENTER  | SL_SPEAKER_LOW_FREQUENCY| SL_SPEAKER_BACK_LEFT \
+ | SL_SPEAKER_BACK_RIGHT)
+
+#define SL_ANDROID_SPEAKER_7DOT1 (SL_ANDROID_SPEAKER_5DOT1 | SL_SPEAKER_SIDE_LEFT \
+ |SL_SPEAKER_SIDE_RIGHT)
+
+namespace android {
+
+static Mutex gLock;
+static SLObjectItf gEngineObject;
+static unsigned gRefCount;
+
+static const char *gErrorStrings[] = {
+    "SL_RESULT_SUCCESS",                // 0
+    "SL_RESULT_PRECONDITIONS_VIOLATE",  // 1
+    "SL_RESULT_PARAMETER_INVALID",      // 2
+    "SL_RESULT_MEMORY_FAILURE",         // 3
+    "SL_RESULT_RESOURCE_ERROR",         // 4
+    "SL_RESULT_RESOURCE_LOST",          // 5
+    "SL_RESULT_IO_ERROR",               // 6
+    "SL_RESULT_BUFFER_INSUFFICIENT",    // 7
+    "SL_RESULT_CONTENT_CORRUPTED",      // 8
+    "SL_RESULT_CONTENT_UNSUPPORTED",    // 9
+    "SL_RESULT_CONTENT_NOT_FOUND",      // 10
+    "SL_RESULT_PERMISSION_DENIED",      // 11
+    "SL_RESULT_FEATURE_UNSUPPORTED",    // 12
+    "SL_RESULT_INTERNAL_ERROR",         // 13
+    "SL_RESULT_UNKNOWN_ERROR",          // 14
+    "SL_RESULT_OPERATION_ABORTED",      // 15
+    "SL_RESULT_CONTROL_LOST",           // 16
+};
+
+const char *getSLErrStr(int code) {
+    if ((size_t)code >= ARRAY_SIZE(gErrorStrings)) {
+        return "SL_RESULT_UNKNOWN";
+    }
+    return gErrorStrings[code];
+}
+
+SLuint32 channelCountToMask(unsigned channelCount) {
+    switch (channelCount) {
+    case 1:
+        return SL_SPEAKER_FRONT_LEFT; // we prefer left over center
+    case 2:
+        return SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
+    case 3:
+        return SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT | SL_SPEAKER_FRONT_CENTER;
+    case 4:
+        return SL_ANDROID_SPEAKER_QUAD;
+    case 5:
+        return SL_ANDROID_SPEAKER_QUAD | SL_SPEAKER_FRONT_CENTER;
+    case 6:
+        return SL_ANDROID_SPEAKER_5DOT1;
+    case 7:
+        return SL_ANDROID_SPEAKER_5DOT1 | SL_SPEAKER_BACK_CENTER;
+    case 8:
+        return SL_ANDROID_SPEAKER_7DOT1;
+    default:
+        return 0;
+    }
+}
+
+static SLObjectItf createEngine() {
+    static SLEngineOption EngineOption[] = {
+            (SLuint32) SL_ENGINEOPTION_THREADSAFE,
+            (SLuint32) SL_BOOLEAN_TRUE
+    };
+    // create engine in thread-safe mode
+    SLObjectItf engine;
+    SLresult result = slCreateEngine(&engine,
+            1 /* numOptions */, EngineOption /* pEngineOptions */,
+            0 /* numInterfaces */, NULL /* pInterfaceIds */, NULL /* pInterfaceRequired */);
+    if (result != SL_RESULT_SUCCESS) {
+        ALOGE("slCreateEngine() failed: %s", getSLErrStr(result));
+        return NULL;
+    }
+    // realize the engine
+    result = (*engine)->Realize(engine, SL_BOOLEAN_FALSE /* async */);
+    if (result != SL_RESULT_SUCCESS) {
+        ALOGE("Realize() failed: %s", getSLErrStr(result));
+        (*engine)->Destroy(engine);
+        return NULL;
+    }
+    return engine;
+}
+
+SLObjectItf OpenSLEngine(bool global) {
+
+    if (!global) {
+        return createEngine();
+    }
+    Mutex::Autolock l(gLock);
+    if (gRefCount == 0) {
+        gEngineObject = createEngine();
+    }
+    gRefCount++;
+    return gEngineObject;
+}
+
+void CloseSLEngine(SLObjectItf engine) {
+    Mutex::Autolock l(gLock);
+    if (engine == gEngineObject) {
+        if (gRefCount == 0) {
+            ALOGE("CloseSLEngine(%p): refcount already 0", engine);
+            return;
+        }
+        if (--gRefCount != 0) {
+            return;
+        }
+        gEngineObject = NULL;
+    }
+    (*engine)->Destroy(engine);
+}
+
+} // namespace android
+
diff --git a/tests/tests/media/libaudiojni/sl-utils.h b/tests/tests/media/libaudiojni/sl-utils.h
new file mode 100644
index 0000000..8582648
--- /dev/null
+++ b/tests/tests/media/libaudiojni/sl-utils.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ANDROID_SL_UTILS_H
+#define ANDROID_SL_UTILS_H
+
+#include <SLES/OpenSLES.h>
+#include <SLES/OpenSLES_Android.h>
+
+#include <jni.h>
+#include <mutex>
+#include <utils/Log.h>
+
+#define CheckErr(res) LOG_ALWAYS_FATAL_IF( \
+        (res) != SL_RESULT_SUCCESS, "result error %s", android::getSLErrStr(res));
+
+namespace android {
+
+// FIXME: Move to common file.
+template <typename T>
+static inline
+const T &min(const T &a, const T &b) {
+    return a < b ? a : b;
+}
+
+/* Returns the error string for the OpenSL ES error code
+ */
+const char *getSLErrStr(int code);
+
+/* Returns the OpenSL ES equivalent standard channel mask
+ * for a given channel count, 0 if no such mask is available.
+ */
+SLuint32 channelCountToMask(unsigned channelCount);
+
+/* Returns an OpenSL ES Engine object interface.
+ * The engine created will be thread safe [3.2]
+ * The underlying implementation may not support more than one engine. [4.1.1]
+ *
+ * @param global if true, return and open the global engine instance or make
+ *   a local engine instance if false.
+ * @return NULL if unsuccessful or the Engine SLObjectItf.
+ */
+SLObjectItf OpenSLEngine(bool global = true);
+
+/* Closes an OpenSL ES Engine object returned by OpenSLEngine().
+ */
+void CloseSLEngine(SLObjectItf engine);
+
+// overloaded JNI array helper functions (same as in android_media_AudioRecord)
+inline
+jbyte *envGetArrayElements(JNIEnv *env, jbyteArray array, jboolean *isCopy) {
+    return env->GetByteArrayElements(array, isCopy);
+}
+
+inline
+void envReleaseArrayElements(JNIEnv *env, jbyteArray array, jbyte *elems, jint mode) {
+    env->ReleaseByteArrayElements(array, elems, mode);
+}
+
+inline
+jshort *envGetArrayElements(JNIEnv *env, jshortArray array, jboolean *isCopy) {
+    return env->GetShortArrayElements(array, isCopy);
+}
+
+inline
+void envReleaseArrayElements(JNIEnv *env, jshortArray array, jshort *elems, jint mode) {
+    env->ReleaseShortArrayElements(array, elems, mode);
+}
+
+inline
+jfloat *envGetArrayElements(JNIEnv *env, jfloatArray array, jboolean *isCopy) {
+    return env->GetFloatArrayElements(array, isCopy);
+}
+
+inline
+void envReleaseArrayElements(JNIEnv *env, jfloatArray array, jfloat *elems, jint mode) {
+    env->ReleaseFloatArrayElements(array, elems, mode);
+}
+
+} // namespace android
+
+#endif // ANDROID_SL_UTILS_H
diff --git a/tests/tests/media/src/android/media/cts/AudioHelper.java b/tests/tests/media/src/android/media/cts/AudioHelper.java
index efee024..6707ea6 100644
--- a/tests/tests/media/src/android/media/cts/AudioHelper.java
+++ b/tests/tests/media/src/android/media/cts/AudioHelper.java
@@ -211,13 +211,13 @@
      * This affects AudioRecord timing.
      */
     public static class AudioRecordAudit extends AudioRecord {
-        AudioRecordAudit(int audioSource, int sampleRate, int channelMask,
+        public AudioRecordAudit(int audioSource, int sampleRate, int channelMask,
                 int format, int bufferSize, boolean isChannelIndex) {
             this(audioSource, sampleRate, channelMask, format, bufferSize, isChannelIndex,
                     AudioManager.STREAM_MUSIC, 500 /*delayMs*/);
         }
 
-        AudioRecordAudit(int audioSource, int sampleRate, int channelMask,
+        public AudioRecordAudit(int audioSource, int sampleRate, int channelMask,
                 int format, int bufferSize,
                 boolean isChannelIndex, int auditStreamType, int delayMs) {
             // without channel index masks, one could call:
@@ -408,4 +408,84 @@
         private int mPosition;
         private long mFinishAtMs;
     }
+
+    /* AudioRecordAudit extends AudioRecord to allow concurrent playback
+     * of read content to an AudioTrack.  This is for testing only.
+     * For general applications, it is NOT recommended to extend AudioRecord.
+     * This affects AudioRecord timing.
+     */
+    public static class AudioRecordAuditNative extends AudioRecordNative {
+        public AudioRecordAuditNative() {
+            super();
+            // Caution: delayMs too large results in buffer sizes that cannot be created.
+            mTrack = new AudioTrackNative();
+        }
+
+        @Override
+        public boolean open(int numChannels, int sampleRate, boolean useFloat, int numBuffers) {
+            if (super.open(numChannels, sampleRate, useFloat, numBuffers)) {
+                if (!mTrack.open(numChannels, sampleRate, useFloat, 2 /* numBuffers */)) {
+                    mTrack = null; // remove track
+                }
+                return true;
+            }
+            return false;
+        }
+
+        @Override
+        public void close() {
+            super.close();
+            if (mTrack != null) {
+                mTrack.close();
+            }
+        }
+
+        @Override
+        public boolean start() {
+            if (super.start()) {
+                if (mTrack != null) {
+                    mTrack.start();
+                }
+                return true;
+            }
+            return false;
+        }
+
+        @Override
+        public boolean stop() {
+            if (super.stop()) {
+                if (mTrack != null) {
+                    mTrack.stop(); // doesn't allow remaining data to play out
+                }
+                return true;
+            }
+            return false;
+        }
+
+        @Override
+        public int read(short[] audioData, int offsetInShorts, int sizeInShorts, int readFlags) {
+            int samples = super.read(audioData, offsetInShorts, sizeInShorts, readFlags);
+            if (mTrack != null) {
+                Assert.assertEquals(samples, mTrack.write(audioData, offsetInShorts, samples,
+                        AudioTrackNative.WRITE_FLAG_BLOCKING));
+                mPosition += samples / mTrack.getChannelCount();
+            }
+            return samples;
+        }
+
+        @Override
+        public int read(float[] audioData, int offsetInFloats, int sizeInFloats, int readFlags) {
+            int samples = super.read(audioData, offsetInFloats, sizeInFloats, readFlags);
+            if (mTrack != null) {
+                Assert.assertEquals(samples, mTrack.write(audioData, offsetInFloats, samples,
+                        AudioTrackNative.WRITE_FLAG_BLOCKING));
+                mPosition += samples / mTrack.getChannelCount();
+            }
+            return samples;
+        }
+
+        public AudioTrackNative mTrack;
+        private final static String TAG = "AudioRecordAuditNative";
+        private int mPosition;
+    }
 }
diff --git a/tests/tests/media/src/android/media/cts/AudioManagerTest.java b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
index ded0539..a0163e5 100644
--- a/tests/tests/media/src/android/media/cts/AudioManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioManagerTest.java
@@ -45,23 +45,27 @@
 import android.os.Vibrator;
 import android.provider.Settings;
 import android.provider.Settings.System;
-import android.test.AndroidTestCase;
+import android.test.InstrumentationTestCase;
 import android.view.SoundEffectConstants;
 
 import java.util.TreeMap;
 
-public class AudioManagerTest extends AndroidTestCase {
+public class AudioManagerTest extends InstrumentationTestCase {
 
     private final static int MP3_TO_PLAY = R.raw.testmp3;
     private final static long TIME_TO_PLAY = 2000;
+    private final static String APPOPS_OP_STR = "android:write_settings";
     private AudioManager mAudioManager;
     private boolean mHasVibrator;
     private boolean mUseFixedVolume;
     private boolean mIsTelevision;
+    private Context mContext;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+        mContext = getInstrumentation().getContext();
+        Utils.enableAppOps(mContext.getPackageName(), APPOPS_OP_STR, getInstrumentation());
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
         Vibrator vibrator = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
         mHasVibrator = (vibrator != null) && vibrator.hasVibrator();
diff --git a/tests/tests/media/src/android/media/cts/AudioNativeTest.java b/tests/tests/media/src/android/media/cts/AudioNativeTest.java
new file mode 100644
index 0000000..f52232f
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/AudioNativeTest.java
@@ -0,0 +1,239 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.content.pm.PackageManager;
+import android.cts.util.CtsAndroidTestCase;
+import android.util.Log;
+
+public class AudioNativeTest extends CtsAndroidTestCase {
+    public void testAppendixBBufferQueue() {
+        nativeAppendixBBufferQueue();
+    }
+
+    public void testAppendixBRecording() {
+        // better to detect presence of microphone here.
+        if (!hasMicrophone()) {
+            return;
+        }
+        nativeAppendixBRecording();
+    }
+
+    public void testStereo16Playback() {
+        assertTrue(AudioTrackNative.test(
+                2 /* numChannels */, 48000 /* sampleRate */, false /* useFloat */,
+                20 /* msecPerBuffer */, 8 /* numBuffers */));
+    }
+
+    public void testStereo16Record() {
+        if (!hasMicrophone()) {
+            return;
+        }
+        assertTrue(AudioRecordNative.test(
+                2 /* numChannels */, 48000 /* sampleRate */, false /* useFloat */,
+                20 /* msecPerBuffer */, 8 /* numBuffers */));
+    }
+
+    public void testPlayStreamData() throws Exception {
+        final String TEST_NAME = "testPlayStreamData";
+        final boolean TEST_FLOAT_ARRAY[] = {
+                false,
+                true,
+        };
+        // due to downmixer algorithmic latency, source channels greater than 2 may
+        // sound shorter in duration at 4kHz sampling rate.
+        final int TEST_SR_ARRAY[] = {
+                /* 4000, */ // below limit of OpenSL ES
+                12345, // irregular sampling rate
+                44100,
+                48000,
+                96000,
+                192000,
+        };
+        final int TEST_CHANNELS_ARRAY[] = {
+                1,
+                2,
+                3,
+                4,
+                5,
+                6,
+                7,
+                // 8  // can fail due to memory issues
+        };
+        final float TEST_SWEEP = 0; // sine wave only
+        final int TEST_TIME_IN_MSEC = 300;
+        final int TOLERANCE_MSEC = 20;
+
+        for (boolean TEST_FLOAT : TEST_FLOAT_ARRAY) {
+            double frequency = 400; // frequency changes for each test
+            for (int TEST_SR : TEST_SR_ARRAY) {
+                for (int TEST_CHANNELS : TEST_CHANNELS_ARRAY) {
+                    // OpenSL ES BUG: we run out of AudioTrack memory for this config on MNC
+                    // Log.d(TEST_NAME, "open channels:" + TEST_CHANNELS + " sr:" + TEST_SR);
+                    if (TEST_FLOAT == true && TEST_CHANNELS >= 6 && TEST_SR >= 192000) {
+                        continue;
+                    }
+                    AudioTrackNative track = new AudioTrackNative();
+                    assertTrue(TEST_NAME,
+                            track.open(TEST_CHANNELS, TEST_SR, TEST_FLOAT, 1 /* numBuffers */));
+                    assertTrue(TEST_NAME, track.start());
+
+                    final int sourceSamples =
+                            (int)((long)TEST_SR * TEST_TIME_IN_MSEC * TEST_CHANNELS / 1000);
+                    final double testFrequency = frequency / TEST_CHANNELS;
+                    if (TEST_FLOAT) {
+                        float data[] = AudioHelper.createSoundDataInFloatArray(
+                                sourceSamples, TEST_SR,
+                                testFrequency, TEST_SWEEP);
+                        assertEquals(sourceSamples,
+                                track.write(data, 0 /* offset */, sourceSamples,
+                                        AudioTrackNative.WRITE_FLAG_BLOCKING));
+                    } else {
+                        short data[] = AudioHelper.createSoundDataInShortArray(
+                                sourceSamples, TEST_SR,
+                                testFrequency, TEST_SWEEP);
+                        assertEquals(sourceSamples,
+                                track.write(data, 0 /* offset */, sourceSamples,
+                                        AudioTrackNative.WRITE_FLAG_BLOCKING));
+                    }
+
+                    while (true) {
+                        // OpenSL ES BUG: getPositionInMsec returns 0 after a data underrun.
+
+                        long position = track.getPositionInMsec();
+                        //Log.d(TEST_NAME, "position: " + position[0]);
+                        if (position >= (long)(TEST_TIME_IN_MSEC - TOLERANCE_MSEC)) {
+                            break;
+                        }
+
+                        // It is safer to use a buffer count of 0 to determine termination
+                        if (track.getBuffersPending() == 0) {
+                            break;
+                        }
+                        Thread.sleep(5 /* millis */);
+                    }
+                    track.stop();
+                    track.close();
+                    Thread.sleep(40 /* millis */);  // put a gap in the tone sequence
+                    frequency += 50; // increment test tone frequency
+                }
+            }
+        }
+    }
+
+    public void testRecordStreamData() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
+        final String TEST_NAME = "testRecordStreamData";
+        final boolean TEST_FLOAT_ARRAY[] = {
+                false,
+                true,
+        };
+        final int TEST_SR_ARRAY[] = {
+                //4000, // below limit of OpenSL ES
+                12345, // irregular sampling rate
+                44100,
+                48000,
+                96000,
+                192000,
+        };
+        final int TEST_CHANNELS_ARRAY[] = {
+                1,
+                2,
+                3,
+                4,
+                5,
+                6,
+                7,
+                8,
+        };
+        final int SEGMENT_DURATION_IN_MSEC = 20;
+        final int NUMBER_SEGMENTS = 10;
+
+        for (boolean TEST_FLOAT : TEST_FLOAT_ARRAY) {
+            for (int TEST_SR : TEST_SR_ARRAY) {
+                for (int TEST_CHANNELS : TEST_CHANNELS_ARRAY) {
+                    // OpenSL ES BUG: we run out of AudioTrack memory for this config on MNC
+                    if (TEST_FLOAT == true && TEST_CHANNELS >= 8 && TEST_SR >= 192000) {
+                        continue;
+                    }
+                    AudioRecordNative record = new AudioRecordNative();
+                    doRecordTest(record, TEST_CHANNELS, TEST_SR, TEST_FLOAT,
+                            SEGMENT_DURATION_IN_MSEC, NUMBER_SEGMENTS);
+                }
+            }
+        }
+    }
+
+    public void testRecordAudit() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
+        AudioRecordNative record = new AudioHelper.AudioRecordAuditNative();
+        doRecordTest(record, 4 /* numChannels */, 44100 /* sampleRate */, false /* useFloat */,
+                1000 /* segmentDurationMs */, 10 /* numSegments */);
+    }
+
+    static {
+        System.loadLibrary("audio_jni");
+    }
+
+    private static final String TAG = "AudioNativeTest";
+
+    private void doRecordTest(AudioRecordNative record,
+            int numChannels, int sampleRate, boolean useFloat,
+            int segmentDurationMs, int numSegments) {
+        final String TEST_NAME = "doRecordTest";
+        try {
+            // Log.d(TEST_NAME, "open numChannels:" + numChannels + " sampleRate:" + sampleRate);
+            assertTrue(TEST_NAME, record.open(numChannels, sampleRate, useFloat,
+                    numSegments /* numBuffers */));
+            assertTrue(TEST_NAME, record.start());
+
+            final int sourceSamples =
+                    (int)((long)sampleRate * segmentDurationMs * numChannels / 1000);
+
+            if (useFloat) {
+                float data[] = new float[sourceSamples];
+                for (int i = 0; i < numSegments; ++i) {
+                    assertEquals(sourceSamples,
+                            record.read(data, 0 /* offset */, sourceSamples,
+                                    AudioRecordNative.READ_FLAG_BLOCKING));
+                }
+            } else {
+                short data[] = new short[sourceSamples];
+                for (int i = 0; i < numSegments; ++i) {
+                    assertEquals(sourceSamples,
+                            record.read(data, 0 /* offset */, sourceSamples,
+                                    AudioRecordNative.READ_FLAG_BLOCKING));
+                }
+            }
+            assertTrue(TEST_NAME, record.stop());
+        } finally {
+            record.close();
+        }
+    }
+
+    private boolean hasMicrophone() {
+        return getContext().getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_MICROPHONE);
+    }
+
+    private static native void nativeAppendixBBufferQueue();
+    private static native void nativeAppendixBRecording();
+}
diff --git a/tests/tests/media/src/android/media/cts/AudioRecordNative.java b/tests/tests/media/src/android/media/cts/AudioRecordNative.java
new file mode 100644
index 0000000..18df8ee
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/AudioRecordNative.java
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.cts.util.CtsAndroidTestCase;
+import android.util.Log;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+public class AudioRecordNative {
+    // Must be kept in sync with C++ JNI audio-record-native (AudioRecordNative) READ_FLAG_*
+    public static final int READ_FLAG_BLOCKING = 1 << 0;
+    /** @hide */
+    @IntDef(flag = true,
+            value = {
+                    READ_FLAG_BLOCKING,
+            })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface ReadFlags { }
+
+    public AudioRecordNative() {
+        mNativeRecordInJavaObj = nativeCreateRecord();
+    }
+
+    public boolean open(int numChannels, int sampleRate, boolean useFloat, int numBuffers) {
+        if (nativeOpen(mNativeRecordInJavaObj, numChannels, sampleRate, useFloat, numBuffers)
+                == STATUS_OK) {
+            mChannelCount = numChannels;
+            return true;
+        }
+        return false;
+    }
+
+    public void close() {
+        nativeClose(mNativeRecordInJavaObj);
+    }
+
+    public boolean start() {
+        return nativeStart(mNativeRecordInJavaObj) == STATUS_OK;
+    }
+
+    public boolean stop() {
+        return nativeStop(mNativeRecordInJavaObj) == STATUS_OK;
+    }
+
+    public boolean pause() {
+        return nativePause(mNativeRecordInJavaObj) == STATUS_OK;
+    }
+
+    public boolean flush() {
+        return nativeFlush(mNativeRecordInJavaObj) == STATUS_OK;
+    }
+
+    public long getPositionInMsec() {
+        long[] position = new long[1];
+        if (nativeGetPositionInMsec(mNativeRecordInJavaObj, position) != STATUS_OK) {
+            throw new IllegalStateException();
+        }
+        return position[0];
+    }
+
+    public int getBuffersPending() {
+        return nativeGetBuffersPending(mNativeRecordInJavaObj);
+    }
+
+    public int read(@NonNull byte[] byteArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags) {
+        return nativeReadByteArray(
+                mNativeRecordInJavaObj, byteArray, offsetInSamples, sizeInSamples, readFlags);
+    }
+
+    public int read(@NonNull short[] shortArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags) {
+        return nativeReadShortArray(
+                mNativeRecordInJavaObj, shortArray, offsetInSamples, sizeInSamples, readFlags);
+    }
+
+    public int read(@NonNull float[] floatArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags) {
+        return nativeReadFloatArray(
+                mNativeRecordInJavaObj, floatArray, offsetInSamples, sizeInSamples, readFlags);
+    }
+
+    public int getChannelCount() {
+        return mChannelCount;
+    }
+
+    public static boolean test(int numChannels, int sampleRate, boolean useFloat,
+            int msecPerBuffer, int numBuffers) {
+        return nativeTest(numChannels, sampleRate, useFloat, msecPerBuffer, numBuffers)
+                == STATUS_OK;
+    }
+
+    @Override
+    protected void finalize() {
+        nativeClose(mNativeRecordInJavaObj);
+        nativeDestroyRecord(mNativeRecordInJavaObj);
+    }
+
+    static {
+        System.loadLibrary("audio_jni");
+    }
+
+    private static final String TAG = "AudioRecordNative";
+    private int mChannelCount;
+    private final long mNativeRecordInJavaObj;
+    private static final int STATUS_OK = 0;
+
+    // static native API.
+    // The native API uses a long "record handle" created by nativeCreateRecord.
+    // The handle must be destroyed after use by nativeDestroyRecord.
+    //
+    // Return codes from the native layer are status_t.
+    // Converted to Java booleans or exceptions at the public API layer.
+    private static native long nativeCreateRecord();
+    private static native void nativeDestroyRecord(long record);
+    private static native int nativeOpen(
+            long record, int numChannels, int sampleRate, boolean useFloat, int numBuffers);
+    private static native void nativeClose(long record);
+    private static native int nativeStart(long record);
+    private static native int nativeStop(long record);
+    private static native int nativePause(long record);
+    private static native int nativeFlush(long record);
+    private static native int nativeGetPositionInMsec(long record, @NonNull long[] position);
+    private static native int nativeGetBuffersPending(long record);
+    private static native int nativeReadByteArray(long record, @NonNull byte[] byteArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags);
+    private static native int nativeReadShortArray(long record, @NonNull short[] shortArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags);
+    private static native int nativeReadFloatArray(long record, @NonNull float[] floatArray,
+            int offsetInSamples, int sizeInSamples, @ReadFlags int readFlags);
+
+    // native interface for all-in-one testing, no record handle required.
+    private static native int nativeTest(
+            int numChannels, int sampleRate, boolean useFloat, int msecPerBuffer, int numBuffers);
+}
diff --git a/tests/tests/media/src/android/media/cts/AudioRecordTest.java b/tests/tests/media/src/android/media/cts/AudioRecordTest.java
index 6ba1aeb..b1ee3f5 100644
--- a/tests/tests/media/src/android/media/cts/AudioRecordTest.java
+++ b/tests/tests/media/src/android/media/cts/AudioRecordTest.java
@@ -321,6 +321,9 @@
     // Test AudioRecord.Builder to verify the observed configuration of an AudioRecord built with
     // an empty Builder matches the documentation / expected values
     public void testAudioRecordBuilderDefault() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
         // constants for test
         final String TEST_NAME = "testAudioRecordBuilderDefault";
         // expected values below match the AudioRecord.Builder documentation
@@ -352,6 +355,9 @@
     // Test AudioRecord.Builder to verify the observed configuration of an AudioRecord built with
     // an incomplete AudioFormat matches the documentation / expected values
     public void testAudioRecordBuilderPartialFormat() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
         // constants for test
         final String TEST_NAME = "testAudioRecordBuilderPartialFormat";
         final int expectedRate = 16000;
@@ -380,6 +386,9 @@
     // Test AudioRecord.Builder to verify the observed configuration of an AudioRecord matches
     // the parameters used in the builder
     public void testAudioRecordBuilderParams() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
         // constants for test
         final String TEST_NAME = "testAudioRecordBuilderParams";
         final int expectedRate = 8000;
@@ -418,6 +427,9 @@
 
     // Test AudioRecord to ensure we can build after a failure.
     public void testAudioRecordBufferSize() throws Exception {
+        if (!hasMicrophone()) {
+            return;
+        }
         // constants for test
         final String TEST_NAME = "testAudioRecordBufferSize";
 
@@ -678,174 +690,194 @@
             listener = new MockOnRecordPositionUpdateListener(record);
         }
 
-        if (markerPeriodsPerSecond != 0) {
-            mMarkerPeriodInFrames = TEST_SR / markerPeriodsPerSecond;
-            mMarkerPosition = mMarkerPeriodInFrames;
-            assertEquals(AudioRecord.SUCCESS,
-                    record.setNotificationMarkerPosition(mMarkerPosition));
-        } else {
-            mMarkerPeriodInFrames = 0;
-        }
         final int updatePeriodInFrames = (periodsPerSecond == 0)
                 ? 0 : TEST_SR / periodsPerSecond;
-        assertEquals(AudioRecord.SUCCESS,
-                record.setPositionNotificationPeriod(updatePeriodInFrames));
-
-        listener.start(TEST_SR);
-        record.startRecording();
-        assertEquals(AudioRecord.RECORDSTATE_RECORDING, record.getRecordingState());
-        long startTime = System.currentTimeMillis();
-
-        // For our tests, we could set test duration by timed sleep or by # frames received.
-        // Since we don't know *exactly* when AudioRecord actually begins recording,
-        // we end the test by # frames read.
-        final int numChannels =  AudioFormat.channelCountFromInChannelMask(TEST_CONF);
-        final int bytesPerSample = AudioFormat.getBytesPerSample(TEST_FORMAT);
-        final int bytesPerFrame = numChannels * bytesPerSample;
-        // careful about integer overflow in the formula below:
-        final int targetSamples = (int)((long)TEST_TIME_MS * TEST_SR * numChannels / 1000);
-        final int BUFFER_FRAMES = 512;
-        final int BUFFER_SAMPLES = BUFFER_FRAMES * numChannels;
-        // TODO: verify behavior when buffer size is not a multiple of frame size.
-
         // After starting, there is no guarantee when the first frame of data is read.
         long firstSampleTime = 0;
-        int samplesRead = 0;
-        if (useByteBuffer) {
-            ByteBuffer byteBuffer = ByteBuffer.allocateDirect(BUFFER_SAMPLES * bytesPerSample);
-            while (samplesRead < targetSamples) {
-                // the first time through, we read a single frame.
-                // this sets the recording anchor position.
-                int amount = samplesRead == 0 ? numChannels :
-                    Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
-                amount *= bytesPerSample;    // in bytes
-                // read always places data at the start of the byte buffer with
-                // position and limit are ignored.  test this by setting
-                // position and limit to arbitrary values here.
-                final int lastPosition = 7;
-                final int lastLimit = 13;
-                byteBuffer.position(lastPosition);
-                byteBuffer.limit(lastLimit);
-                int ret = blocking ? record.read(byteBuffer, amount) :
-                    record.read(byteBuffer, amount, AudioRecord.READ_NON_BLOCKING);
-                // so long as amount requested in bytes is a multiple of the frame size
-                // we expect the byte buffer request to be filled.  Caution: the
-                // byte buffer data will be in native endian order, not Java order.
-                if (blocking) {
-                    assertEquals(amount, ret);
-                } else {
-                    assertTrue("0 <= " + ret + " <= " + amount, 0 <= ret && ret <= amount);
-                }
-                // position, limit are not changed by read().
-                assertEquals(lastPosition, byteBuffer.position());
-                assertEquals(lastLimit, byteBuffer.limit());
-                if (samplesRead == 0 && ret > 0) {
-                    firstSampleTime = System.currentTimeMillis();
-                }
-                samplesRead += ret / bytesPerSample;
+
+        // blank final variables: all successful paths will initialize the times.
+        final long endTime;
+        final long startTime;
+        final long stopRequestTime;
+        final long stopTime;
+
+        try {
+            if (markerPeriodsPerSecond != 0) {
+                mMarkerPeriodInFrames = TEST_SR / markerPeriodsPerSecond;
+                mMarkerPosition = mMarkerPeriodInFrames;
+                assertEquals(AudioRecord.SUCCESS,
+                        record.setNotificationMarkerPosition(mMarkerPosition));
+            } else {
+                mMarkerPeriodInFrames = 0;
             }
-        } else {
-            switch (TEST_FORMAT) {
-            case AudioFormat.ENCODING_PCM_8BIT: {
-                // For 8 bit data, use bytes
-                byte[] byteData = new byte[BUFFER_SAMPLES];
+
+            assertEquals(AudioRecord.SUCCESS,
+                    record.setPositionNotificationPeriod(updatePeriodInFrames));
+
+            listener.start(TEST_SR);
+            record.startRecording();
+            assertEquals(AudioRecord.RECORDSTATE_RECORDING, record.getRecordingState());
+            startTime = System.currentTimeMillis();
+
+            // For our tests, we could set test duration by timed sleep or by # frames received.
+            // Since we don't know *exactly* when AudioRecord actually begins recording,
+            // we end the test by # frames read.
+            final int numChannels =  AudioFormat.channelCountFromInChannelMask(TEST_CONF);
+            final int bytesPerSample = AudioFormat.getBytesPerSample(TEST_FORMAT);
+            final int bytesPerFrame = numChannels * bytesPerSample;
+            // careful about integer overflow in the formula below:
+            final int targetSamples = (int)((long)TEST_TIME_MS * TEST_SR * numChannels / 1000);
+            final int BUFFER_FRAMES = 512;
+            final int BUFFER_SAMPLES = BUFFER_FRAMES * numChannels;
+            // TODO: verify behavior when buffer size is not a multiple of frame size.
+
+            int samplesRead = 0;
+            if (useByteBuffer) {
+                ByteBuffer byteBuffer =
+                        ByteBuffer.allocateDirect(BUFFER_SAMPLES * bytesPerSample);
                 while (samplesRead < targetSamples) {
                     // the first time through, we read a single frame.
                     // this sets the recording anchor position.
                     int amount = samplesRead == 0 ? numChannels :
                         Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
-                    int ret = blocking ? record.read(byteData, 0, amount) :
-                        record.read(byteData, 0, amount, AudioRecord.READ_NON_BLOCKING);
+                    amount *= bytesPerSample;    // in bytes
+                    // read always places data at the start of the byte buffer with
+                    // position and limit are ignored.  test this by setting
+                    // position and limit to arbitrary values here.
+                    final int lastPosition = 7;
+                    final int lastLimit = 13;
+                    byteBuffer.position(lastPosition);
+                    byteBuffer.limit(lastLimit);
+                    int ret = blocking ? record.read(byteBuffer, amount) :
+                        record.read(byteBuffer, amount, AudioRecord.READ_NON_BLOCKING);
+                    // so long as amount requested in bytes is a multiple of the frame size
+                    // we expect the byte buffer request to be filled.  Caution: the
+                    // byte buffer data will be in native endian order, not Java order.
                     if (blocking) {
                         assertEquals(amount, ret);
                     } else {
-                        assertTrue("0 <= " + ret + " <= " + amount, 0 <= ret && ret <= amount);
+                        assertTrue("0 <= " + ret + " <= " + amount,
+                                0 <= ret && ret <= amount);
                     }
+                    // position, limit are not changed by read().
+                    assertEquals(lastPosition, byteBuffer.position());
+                    assertEquals(lastLimit, byteBuffer.limit());
                     if (samplesRead == 0 && ret > 0) {
                         firstSampleTime = System.currentTimeMillis();
                     }
-                    samplesRead += ret;
+                    samplesRead += ret / bytesPerSample;
                 }
-            } break;
-            case AudioFormat.ENCODING_PCM_16BIT: {
-                // For 16 bit data, use shorts
-                short[] shortData = new short[BUFFER_SAMPLES];
-                while (samplesRead < targetSamples) {
-                    // the first time through, we read a single frame.
-                    // this sets the recording anchor position.
-                    int amount = samplesRead == 0 ? numChannels :
-                        Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
-                    int ret = blocking ? record.read(shortData, 0, amount) :
-                        record.read(shortData, 0, amount, AudioRecord.READ_NON_BLOCKING);
-                    if (blocking) {
-                        assertEquals(amount, ret);
-                    } else {
-                        assertTrue("0 <= " + ret + " <= " + amount, 0 <= ret && ret <= amount);
+            } else {
+                switch (TEST_FORMAT) {
+                case AudioFormat.ENCODING_PCM_8BIT: {
+                    // For 8 bit data, use bytes
+                    byte[] byteData = new byte[BUFFER_SAMPLES];
+                    while (samplesRead < targetSamples) {
+                        // the first time through, we read a single frame.
+                        // this sets the recording anchor position.
+                        int amount = samplesRead == 0 ? numChannels :
+                            Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
+                        int ret = blocking ? record.read(byteData, 0, amount) :
+                            record.read(byteData, 0, amount, AudioRecord.READ_NON_BLOCKING);
+                        if (blocking) {
+                            assertEquals(amount, ret);
+                        } else {
+                            assertTrue("0 <= " + ret + " <= " + amount,
+                                    0 <= ret && ret <= amount);
+                        }
+                        if (samplesRead == 0 && ret > 0) {
+                            firstSampleTime = System.currentTimeMillis();
+                        }
+                        samplesRead += ret;
                     }
-                    if (samplesRead == 0 && ret > 0) {
-                        firstSampleTime = System.currentTimeMillis();
+                } break;
+                case AudioFormat.ENCODING_PCM_16BIT: {
+                    // For 16 bit data, use shorts
+                    short[] shortData = new short[BUFFER_SAMPLES];
+                    while (samplesRead < targetSamples) {
+                        // the first time through, we read a single frame.
+                        // this sets the recording anchor position.
+                        int amount = samplesRead == 0 ? numChannels :
+                            Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
+                        int ret = blocking ? record.read(shortData, 0, amount) :
+                            record.read(shortData, 0, amount, AudioRecord.READ_NON_BLOCKING);
+                        if (blocking) {
+                            assertEquals(amount, ret);
+                        } else {
+                            assertTrue("0 <= " + ret + " <= " + amount,
+                                    0 <= ret && ret <= amount);
+                        }
+                        if (samplesRead == 0 && ret > 0) {
+                            firstSampleTime = System.currentTimeMillis();
+                        }
+                        samplesRead += ret;
                     }
-                    samplesRead += ret;
+                } break;
+                case AudioFormat.ENCODING_PCM_FLOAT: {
+                    float[] floatData = new float[BUFFER_SAMPLES];
+                    while (samplesRead < targetSamples) {
+                        // the first time through, we read a single frame.
+                        // this sets the recording anchor position.
+                        int amount = samplesRead == 0 ? numChannels :
+                            Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
+                        int ret = record.read(floatData, 0, amount, blocking ?
+                                AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
+                        if (blocking) {
+                            assertEquals(amount, ret);
+                        } else {
+                            assertTrue("0 <= " + ret + " <= " + amount,
+                                    0 <= ret && ret <= amount);
+                        }
+                        if (samplesRead == 0 && ret > 0) {
+                            firstSampleTime = System.currentTimeMillis();
+                        }
+                        samplesRead += ret;
+                    }
+                } break;
                 }
-            } break;
-            case AudioFormat.ENCODING_PCM_FLOAT: {
-                float[] floatData = new float[BUFFER_SAMPLES];
-                while (samplesRead < targetSamples) {
-                    // the first time through, we read a single frame.
-                    // this sets the recording anchor position.
-                    int amount = samplesRead == 0 ? numChannels :
-                        Math.min(BUFFER_SAMPLES, targetSamples - samplesRead);
-                    int ret = record.read(floatData, 0, amount, blocking ?
-                            AudioRecord.READ_BLOCKING : AudioRecord.READ_NON_BLOCKING);
-                    if (blocking) {
-                        assertEquals(amount, ret);
-                    } else {
-                        assertTrue("0 <= " + ret + " <= " + amount, 0 <= ret && ret <= amount);
-                    }
-                    if (samplesRead == 0 && ret > 0) {
-                        firstSampleTime = System.currentTimeMillis();
-                    }
-                    samplesRead += ret;
-                }
-            } break;
             }
+
+            // We've read all the frames, now check the record timing.
+            endTime = System.currentTimeMillis();
+            //Log.d(TAG, "first sample time " + (firstSampleTime - startTime)
+            //        + " test time " + (endTime - firstSampleTime));
+            // Verify recording starts within 200 ms of record.startRecording() (typical 100ms)
+            // Verify recording completes within 50 ms of expected test time (typical 20ms)
+            assertEquals(0, firstSampleTime - startTime, 200);
+            assertEquals(TEST_TIME_MS, endTime - firstSampleTime, auditRecording ? 1000 : 50);
+
+            // Even though we've read all the frames we want, the events may not be sent to
+            // the listeners (events are handled through a separate internal callback thread).
+            // One must sleep to make sure the last event(s) come in.
+            Thread.sleep(30);
+
+            stopRequestTime = System.currentTimeMillis();
+            record.stop();
+            assertEquals(AudioRecord.RECORDSTATE_STOPPED, record.getRecordingState());
+
+            stopTime = System.currentTimeMillis();
+
+            // stop listening - we should be done.
+            // Caution M behavior and likely much earlier:
+            // we assume no events can happen after stop(), but this may not
+            // always be true as stop can take 100ms to complete (as it may disable
+            // input recording on the hal); thus the event handler may be block with
+            // valid events, issuing right after stop completes. Except for those events,
+            // no other events should show up after stop.
+            // This behavior may change in the future but we account for it here in testing.
+            listener.stop();
+
+            // clean up
+            if (makeSomething != null) {
+                makeSomething.join();
+            }
+
+        } finally {
+            listener.release();
+            // we must release the record immediately as it is a system-wide
+            // resource needed for other tests.
+            record.release();
         }
-
-        // We've read all the frames, now check the record timing.
-        final long endTime = System.currentTimeMillis();
-        //Log.d(TAG, "first sample time " + (firstSampleTime - startTime)
-        //        + " test time " + (endTime - firstSampleTime));
-        // Verify recording starts within 200 ms of record.startRecording() (typical 100ms)
-        // Verify recording completes within 50 ms of expected test time (typical 20ms)
-        assertEquals(0, firstSampleTime - startTime, 200);
-        assertEquals(TEST_TIME_MS, endTime - firstSampleTime, auditRecording ? 1000 : 50);
-
-        // Even though we've read all the frames we want, the events may not be sent to
-        // the listeners (events are handled through a separate internal callback thread).
-        // One must sleep to make sure the last event(s) come in.
-        Thread.sleep(30);
-
-        record.stop();
-        assertEquals(AudioRecord.RECORDSTATE_STOPPED, record.getRecordingState());
-
-        final long stopTime = System.currentTimeMillis();
-
-        // stop listening - we should be done.
-        // Caution M behavior and likely much earlier:
-        // we assume no events can happen after stop(), but this may not
-        // always be true as stop can take 100ms to complete (as it may disable
-        // input recording on the hal); thus the event handler may be block with
-        // valid events, issuing right after stop completes. Except for those events,
-        // no other events should show up after stop.
-        // This behavior may change in the future but we account for it here in testing.
-        listener.stop();
-
-        // clean up
-        if (makeSomething != null) {
-            makeSomething.join();
-        }
-        listener.release();
-        record.release();
         if (auditRecording) { // don't check timing if auditing (messes up timing)
             return;
         }
@@ -881,10 +913,14 @@
         // and there is no record.getPosition(), we consider only differential timing
         // from the first marker or periodic event.
         final int toleranceInFrames = TEST_SR * 80 / 1000; // 80 ms
+        final int testTimeInFrames = (int)((long)TEST_TIME_MS * TEST_SR / 1000);
 
         AudioHelper.Statistics markerStat = new AudioHelper.Statistics();
         for (int i = 1; i < markerList.size(); ++i) {
             final int expected = mMarkerPeriodInFrames * i;
+            if (markerList.get(i) > testTimeInFrames) {
+                break; // don't consider any notifications when we might be stopping.
+            }
             final int actual = markerList.get(i) - markerList.get(0);
             //Log.d(TAG, "Marker: " + i + " expected(" + expected + ")  actual(" + actual
             //        + ")  diff(" + (actual - expected) + ")"
@@ -896,6 +932,9 @@
         AudioHelper.Statistics periodicStat = new AudioHelper.Statistics();
         for (int i = 1; i < periodicList.size(); ++i) {
             final int expected = updatePeriodInFrames * i;
+            if (periodicList.get(i) > testTimeInFrames) {
+                break; // don't consider any notifications when we might be stopping.
+            }
             final int actual = periodicList.get(i) - periodicList.get(0);
             //Log.d(TAG, "Update: " + i + " expected(" + expected + ")  actual(" + actual
             //        + ")  diff(" + (actual - expected) + ")"
@@ -908,9 +947,11 @@
         ReportLog log = getReportLog();
         log.printValue(reportName + ": startRecording lag", firstSampleTime - startTime,
                 ResultType.LOWER_BETTER, ResultUnit.MS);
+        log.printValue(reportName + ": stop execution time", stopTime - stopRequestTime,
+                ResultType.LOWER_BETTER, ResultUnit.MS);
         log.printValue(reportName + ": Total record time expected", TEST_TIME_MS,
                 ResultType.NEUTRAL, ResultUnit.MS);
-        log.printValue(reportName + ": Total record time actual", (endTime - firstSampleTime),
+        log.printValue(reportName + ": Total record time actual", endTime - firstSampleTime,
                 ResultType.NEUTRAL, ResultUnit.MS);
         log.printValue(reportName + ": Total markers expected", markerPeriods,
                 ResultType.NEUTRAL, ResultUnit.COUNT);
@@ -993,6 +1034,7 @@
         }
 
         public synchronized void release() {
+            stop();
             mAudioRecord.setRecordPositionUpdateListener(null);
             mAudioRecord = null;
         }
diff --git a/tests/tests/media/src/android/media/cts/AudioTrackNative.java b/tests/tests/media/src/android/media/cts/AudioTrackNative.java
new file mode 100644
index 0000000..1ce44ef
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/AudioTrackNative.java
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.cts.util.CtsAndroidTestCase;
+import android.util.Log;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+public class AudioTrackNative {
+    // Must be kept in sync with C++ JNI audio-track-native (AudioTrackNative) WRITE_FLAG_*
+    public static final int WRITE_FLAG_BLOCKING = 1 << 0;
+    /** @hide */
+    @IntDef(flag = true,
+            value = {
+                    WRITE_FLAG_BLOCKING,
+            })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface WriteFlags { }
+
+    public AudioTrackNative() {
+        mNativeTrackInJavaObj = nativeCreateTrack();
+    }
+
+    // TODO: eventually accept AudioFormat
+    // numBuffers is the number of internal buffers before hitting the OpenSL ES.
+    // A value of 0 means that all writes are blocking.
+    public boolean open(int numChannels, int sampleRate, boolean useFloat, int numBuffers) {
+        if (nativeOpen(mNativeTrackInJavaObj, numChannels, sampleRate, useFloat, numBuffers)
+                == STATUS_OK) {
+            mChannelCount = numChannels;
+            return true;
+        }
+        return false;
+    }
+
+    public void close() {
+        nativeClose(mNativeTrackInJavaObj);
+    }
+
+    public boolean start() {
+        return nativeStart(mNativeTrackInJavaObj) == STATUS_OK;
+    }
+
+    public boolean stop() {
+        return nativeStop(mNativeTrackInJavaObj) == STATUS_OK;
+    }
+
+    public boolean pause() {
+        return nativePause(mNativeTrackInJavaObj) == STATUS_OK;
+    }
+
+    public boolean flush() {
+        return nativeFlush(mNativeTrackInJavaObj) == STATUS_OK;
+    }
+
+    public long getPositionInMsec() {
+        long[] position = new long[1];
+        if (nativeGetPositionInMsec(mNativeTrackInJavaObj, position) != STATUS_OK) {
+            throw new IllegalStateException();
+        }
+        return position[0];
+    }
+
+    public int getBuffersPending() {
+        return nativeGetBuffersPending(mNativeTrackInJavaObj);
+    }
+
+    /* returns number of samples written.
+     * 0 may be returned if !isBlocking.
+     * negative value indicates error.
+     */
+    public int write(@NonNull byte[] byteArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags) {
+        return nativeWriteByteArray(
+                mNativeTrackInJavaObj, byteArray, offsetInSamples, sizeInSamples, writeFlags);
+    }
+
+    public int write(@NonNull short[] shortArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags) {
+        return nativeWriteShortArray(
+                mNativeTrackInJavaObj, shortArray, offsetInSamples, sizeInSamples, writeFlags);
+    }
+
+    public int write(@NonNull float[] floatArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags) {
+        return nativeWriteFloatArray(
+                mNativeTrackInJavaObj, floatArray, offsetInSamples, sizeInSamples, writeFlags);
+    }
+
+    public int getChannelCount() {
+        return mChannelCount;
+    }
+
+    public static boolean test(int numChannels, int sampleRate, boolean useFloat,
+            int msecPerBuffer, int numBuffers) {
+        return nativeTest(numChannels, sampleRate, useFloat, msecPerBuffer, numBuffers)
+                == STATUS_OK;
+    }
+
+    @Override
+    protected void finalize() {
+        nativeClose(mNativeTrackInJavaObj);
+        nativeDestroyTrack(mNativeTrackInJavaObj);
+    }
+
+    static {
+        System.loadLibrary("audio_jni");
+    }
+
+    private static final String TAG = "AudioTrackNative";
+    private int mChannelCount;
+    private final long mNativeTrackInJavaObj;
+    private static final int STATUS_OK = 0;
+
+    // static native API.
+    // The native API uses a long "track handle" created by nativeCreateTrack.
+    // The handle must be destroyed after use by nativeDestroyTrack.
+    //
+    // Return codes from the native layer are status_t.
+    // Converted to Java booleans or exceptions at the public API layer.
+    private static native long nativeCreateTrack();
+    private static native void nativeDestroyTrack(long track);
+    private static native int nativeOpen(
+            long track, int numChannels, int sampleRate, boolean useFloat, int numBuffers);
+    private static native void nativeClose(long track);
+    private static native int nativeStart(long track);
+    private static native int nativeStop(long track);
+    private static native int nativePause(long track);
+    private static native int nativeFlush(long track);
+    private static native int nativeGetPositionInMsec(long track, @NonNull long[] position);
+    private static native int nativeGetBuffersPending(long track);
+    private static native int nativeWriteByteArray(long track, @NonNull byte[] byteArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags);
+    private static native int nativeWriteShortArray(long track, @NonNull short[] shortArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags);
+    private static native int nativeWriteFloatArray(long track, @NonNull float[] floatArray,
+            int offsetInSamples, int sizeInSamples, @WriteFlags int writeFlags);
+
+    // native interface for all-in-one testing, no track handle required.
+    private static native int nativeTest(
+            int numChannels, int sampleRate, boolean useFloat, int msecPerBuffer, int numBuffers);
+}
diff --git a/tests/tests/media/src/android/media/cts/DecoderTest.java b/tests/tests/media/src/android/media/cts/DecoderTest.java
old mode 100644
new mode 100755
index ee40207..6765051
--- a/tests/tests/media/src/android/media/cts/DecoderTest.java
+++ b/tests/tests/media/src/android/media/cts/DecoderTest.java
@@ -164,8 +164,12 @@
     }
 
     public void testDecodeMonoGsm() throws Exception {
-        monoTest(R.raw.monotestgsm, 8000);
-        testTimeStampOrdering(R.raw.monotestgsm);
+        if (MediaUtils.hasCodecsForResource(mContext, R.raw.monotestgsm)) {
+            monoTest(R.raw.monotestgsm, 8000);
+            testTimeStampOrdering(R.raw.monotestgsm);
+        } else {
+            MediaUtils.skipTest("not mandatory");
+        }
     }
 
     public void testDecodeAacTs() throws Exception {
@@ -1297,6 +1301,10 @@
         }
     }
 
+    private static MediaCodec createDecoder(MediaFormat format) {
+        return MediaUtils.getDecoder(format);
+    }
+
     // for video
     private int countFrames(int video, int resetMode, int eosframe, Surface s)
             throws Exception {
@@ -1409,7 +1417,7 @@
         ByteBuffer[] codecInputBuffers;
         ByteBuffer[] codecOutputBuffers;
 
-        MediaCodec codec = createDecoder(mime);
+        MediaCodec codec = createDecoder(format);
         Log.i("@@@@", "using codec: " + codec.getName());
         codec.configure(format, surface, null /* crypto */, 0 /* flags */);
         codec.start();
diff --git a/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayTest.java b/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayTest.java
index d65bbf6..48fcb65 100755
--- a/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayTest.java
+++ b/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayTest.java
@@ -509,7 +509,7 @@
      * Determines if two color values are approximately equal.
      */
     private static boolean approxEquals(int expected, int actual) {
-        final int MAX_DELTA = 4;
+        final int MAX_DELTA = 7;
         return Math.abs(expected - actual) <= MAX_DELTA;
     }
 
diff --git a/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayWithCompositionTest.java b/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayWithCompositionTest.java
index 2320990..a999135 100644
--- a/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayWithCompositionTest.java
+++ b/tests/tests/media/src/android/media/cts/EncodeVirtualDisplayWithCompositionTest.java
@@ -657,7 +657,6 @@
             } catch (InterruptedException e) {
                 // don't care
             }
-            cleanupGl();
             mCompositionThread = null;
             mSurface = null;
             mStartCompletionSemaphore = null;
@@ -970,7 +969,6 @@
 
             public void cleanup() {
                 mNumTextureUpdated.set(0);
-                mVerticesData.clear();
                 if (mTextureId != 0) {
                     int[] textures = new int[] {
                             mTextureId
diff --git a/tests/tests/media/src/android/media/cts/EnumDevicesTest.java b/tests/tests/media/src/android/media/cts/EnumDevicesTest.java
index f513709..94af087 100644
--- a/tests/tests/media/src/android/media/cts/EnumDevicesTest.java
+++ b/tests/tests/media/src/android/media/cts/EnumDevicesTest.java
@@ -115,29 +115,31 @@
             // Sample Rates
             int[] sampleRates = deviceInfo.getSampleRates();
             assertNotNull(sampleRates);
-            // "analog" devices won't list any sample rates
+            // Note: an empty array indicates that the device supports arbitrary sample rates.
 
             // Channel Masks
             int[] channelMasks = deviceInfo.getChannelMasks();
             assertNotNull(channelMasks);
-            // "analog" devices won't list any channel masks
+            // Note: an empty array indicates that the device supports arbitrary channel masks.
 
             // Channel Index Masks
             int[] indexMasks = deviceInfo.getChannelIndexMasks();
-            assertNotNull(channelMasks);
+            assertNotNull(indexMasks);
+            // Note: an empty array indicates that the device supports arbitrary channel index
+            // masks.
 
             // Channel Counts
             int[] channelCounts = deviceInfo.getChannelCounts();
             assertNotNull(channelCounts);
-            // "analog" devices won't list any channel Counts
+            // Note: an empty array indicates that the device supports arbitrary channel counts.
 
             // Encodings
             int[] encodings = deviceInfo.getEncodings();
             assertNotNull(encodings);
-            // "analog" devices won't list any encodings
+            // Note: an empty array indicates that the device supports arbitrary encodings.
 
             int type = deviceInfo.getType();
-            assert(type > AudioDeviceInfo.TYPE_UNKNOWN);
+            assertTrue(type != AudioDeviceInfo.TYPE_UNKNOWN);
         }
     }
 
@@ -167,7 +169,7 @@
         }
         return myLooper;
     }
-    
+
     public void test_deviceCallback() {
         // null callback?
         mAudioManager.registerAudioDeviceCallback(null,null);
@@ -187,7 +189,7 @@
         mAudioManager.unregisterAudioDeviceCallback(callback);
 
         Looper myLooper = prepareIfNeededLooper();
-        
+
         mAudioManager.registerAudioDeviceCallback(callback, new Handler());
         // unregister null callback
         mAudioManager.unregisterAudioDeviceCallback(null);
diff --git a/tests/tests/media/src/android/media/cts/MediaCodecCapabilitiesTest.java b/tests/tests/media/src/android/media/cts/MediaCodecCapabilitiesTest.java
index 15438e8..813af0f2 100644
--- a/tests/tests/media/src/android/media/cts/MediaCodecCapabilitiesTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaCodecCapabilitiesTest.java
@@ -19,6 +19,7 @@
 import android.cts.util.MediaUtils;
 import android.media.MediaCodec;
 import android.media.MediaCodecInfo;
+import android.media.MediaCodecInfo.AudioCapabilities;
 import android.media.MediaCodecInfo.CodecCapabilities;
 import android.media.MediaCodecInfo.CodecProfileLevel;
 import android.media.MediaCodecInfo.VideoCapabilities;
@@ -530,32 +531,45 @@
         }
     }
 
-    private static MediaFormat createMinFormat(String mime, VideoCapabilities vcaps, int color) {
-        int minWidth = vcaps.getSupportedWidths().getLower();
-        int minHeight = vcaps.getSupportedHeightsFor(minWidth).getLower();
-        int minBitrate = vcaps.getBitrateRange().getLower();
+    private static MediaFormat createMinFormat(String mime, CodecCapabilities caps) {
+        MediaFormat format;
+        if (caps.getVideoCapabilities() != null) {
+            VideoCapabilities vcaps = caps.getVideoCapabilities();
+            int minWidth = vcaps.getSupportedWidths().getLower();
+            int minHeight = vcaps.getSupportedHeightsFor(minWidth).getLower();
+            int minBitrate = vcaps.getBitrateRange().getLower();
+            format = MediaFormat.createVideoFormat(mime, minWidth, minHeight);
+            format.setInteger(MediaFormat.KEY_COLOR_FORMAT, caps.colorFormats[0]);
+            format.setInteger(MediaFormat.KEY_BIT_RATE, minBitrate);
+            format.setInteger(MediaFormat.KEY_FRAME_RATE, 10);
+            format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 10);
+        } else {
+            AudioCapabilities acaps = caps.getAudioCapabilities();
+            int minSampleRate = acaps.getSupportedSampleRateRanges()[0].getLower();
+            int minChannelCount = 1;
+            int minBitrate = acaps.getBitrateRange().getLower();
+            format = MediaFormat.createAudioFormat(mime, minSampleRate, minChannelCount);
+            format.setInteger(MediaFormat.KEY_BIT_RATE, minBitrate);
+        }
 
-        MediaFormat format = MediaFormat.createVideoFormat(mime, minWidth, minHeight);
-        format.setInteger(MediaFormat.KEY_COLOR_FORMAT, color);
-        format.setInteger(MediaFormat.KEY_BIT_RATE, minBitrate);
-        format.setInteger(MediaFormat.KEY_FRAME_RATE, 10);
-        format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 10);
         return format;
     }
 
     private static int getActualMax(
             boolean isEncoder, String name, String mime, CodecCapabilities caps, int max) {
         int flag = isEncoder ? MediaCodec.CONFIGURE_FLAG_ENCODE : 0;
-        MediaFormat format =
-                createMinFormat(mime, caps.getVideoCapabilities(), caps.colorFormats[0]);
+        MediaFormat format = createMinFormat(mime, caps);
+        Log.d(TAG, "Test format " + format);
         Vector<MediaCodec> codecs = new Vector<MediaCodec>();
+        MediaCodec codec = null;
         for (int i = 0; i < max; ++i) {
             try {
                 Log.d(TAG, "Create codec " + name + " #" + i);
-                MediaCodec codec = MediaCodec.createByCodecName(name);
+                codec = MediaCodec.createByCodecName(name);
                 codec.configure(format, null, null, flag);
                 codec.start();
                 codecs.add(codec);
+                codec = null;
             } catch (IllegalArgumentException e) {
                 fail("Got unexpected IllegalArgumentException " + e.getMessage());
             } catch (IOException e) {
@@ -569,24 +583,25 @@
                 } else {
                     fail("Unexpected CodecException " + e.getDiagnosticInfo());
                 }
+            } finally {
+                if (codec != null) {
+                    Log.d(TAG, "release codec");
+                    codec.release();
+                    codec = null;
+                }
             }
         }
         int actualMax = codecs.size();
         for (int i = 0; i < codecs.size(); ++i) {
+            Log.d(TAG, "release codec #" + i);
             codecs.get(i).release();
         }
+        codecs.clear();
         return actualMax;
     }
 
-    private static boolean shouldTestActual(CodecCapabilities caps) {
-        if (caps.getVideoCapabilities() == null) {
-            // TODO: test audio codecs.
-            return false;
-        }
-        return true;
-    }
-
     public void testGetMaxSupportedInstances() {
+        final int MAX_INSTANCES = 32;
         StringBuilder xmlOverrides = new StringBuilder();
         MediaCodecList allCodecs = new MediaCodecList(MediaCodecList.ALL_CODECS);
         for (MediaCodecInfo info : allCodecs.getCodecInfos()) {
@@ -601,21 +616,19 @@
                 Log.d(TAG, "getMaxSupportedInstances returns " + max);
                 assertTrue(max > 0);
 
-                if (shouldTestActual(caps)) {
-                    int actualMax = getActualMax(
-                            info.isEncoder(), info.getName(), types[j], caps, max + 1);
-                    Log.d(TAG, "actualMax " + actualMax + " vs reported max " + max);
-                    if (actualMax < (int)(max * 0.9) || actualMax > (int) Math.ceil(max * 1.1)) {
-                        String codec = "<MediaCodec name=\"" + info.getName() +
-                                "\" type=\"" + types[j] + "\" >";
-                        String limit = "    <Limit name=\"concurrent-instances\" max=\"" +
-                                actualMax + "\" />";
-                        xmlOverrides.append(codec);
-                        xmlOverrides.append("\n");
-                        xmlOverrides.append(limit);
-                        xmlOverrides.append("\n");
-                        xmlOverrides.append("</MediaCodec>\n");
-                    }
+                int actualMax = getActualMax(
+                        info.isEncoder(), info.getName(), types[j], caps, MAX_INSTANCES);
+                Log.d(TAG, "actualMax " + actualMax + " vs reported max " + max);
+                if (actualMax < (int)(max * 0.9) || actualMax > (int) Math.ceil(max * 1.1)) {
+                    String codec = "<MediaCodec name=\"" + info.getName() +
+                            "\" type=\"" + types[j] + "\" >";
+                    String limit = "    <Limit name=\"concurrent-instances\" max=\"" +
+                            actualMax + "\" />";
+                    xmlOverrides.append(codec);
+                    xmlOverrides.append("\n");
+                    xmlOverrides.append(limit);
+                    xmlOverrides.append("\n");
+                    xmlOverrides.append("</MediaCodec>\n");
                 }
             }
         }
diff --git a/tests/tests/media/src/android/media/cts/MediaRandomTest.java b/tests/tests/media/src/android/media/cts/MediaRandomTest.java
index 7b49a37..e928a8f 100644
--- a/tests/tests/media/src/android/media/cts/MediaRandomTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaRandomTest.java
@@ -282,6 +282,11 @@
 
             final int[] width  = {176, 352, 320, 640, 1280, 1920};
             final int[] height = {144, 288, 240, 480,  720, 1080};
+            final int[] audioSource = {
+                    MediaRecorder.AudioSource.DEFAULT,
+                    MediaRecorder.AudioSource.MIC,
+                    MediaRecorder.AudioSource.CAMCORDER,
+            };
 
             watchdog.start();
             for (int i = 0; i < NUMBER_OF_RECORDER_RANDOM_ACTIONS; i++) {
@@ -292,9 +297,14 @@
                 mParam = (int)(r.nextInt(1000000));
                 try {
                     switch (mAction) {
-                    case 0:
-                        mRecorder.setAudioSource(mParam % 3);
+                    case 0: {
+                        // We restrict the audio sources because setting some sources
+                        // may cause 2+ second delays because the input device may
+                        // retry - loop (e.g. VOICE_UPLINK for voice call to be initiated).
+                        final int index = mParam % audioSource.length;
+                        mRecorder.setAudioSource(audioSource[index]);
                         break;
+                    }
                     case 1:
                         // XXX:
                         // Fix gralloc source and change
diff --git a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
index b6ee1db..f7b6c91 100644
--- a/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaRecorderTest.java
@@ -22,6 +22,7 @@
 import android.graphics.Color;
 import android.graphics.Paint;
 import android.hardware.Camera;
+import android.media.CamcorderProfile;
 import android.media.EncoderCapabilities;
 import android.media.MediaCodec;
 import android.media.MediaFormat;
@@ -174,13 +175,27 @@
     }
 
     public void testRecorderCamera() throws Exception {
+        int width;
+        int height;
+        Camera camera = null;
         if (!hasCamera()) {
             return;
         }
+        // Try to get camera profile for QUALITY_LOW; if unavailable,
+        // set the video size to default value.
+        CamcorderProfile profile = CamcorderProfile.get(
+                0 /* cameraId */, CamcorderProfile.QUALITY_LOW);
+        if (profile != null) {
+            width = profile.videoFrameWidth;
+            height = profile.videoFrameHeight;
+        } else {
+            width = VIDEO_WIDTH;
+            height = VIDEO_HEIGHT;
+        }
         mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
         mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
         mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
-        mMediaRecorder.setVideoSize(VIDEO_WIDTH, VIDEO_HEIGHT);
+        mMediaRecorder.setVideoSize(width, height);
         mMediaRecorder.setVideoEncodingBitRate(VIDEO_BIT_RATE_IN_BPS);
         mMediaRecorder.setPreviewDisplay(mActivity.getSurfaceHolder().getSurface());
         mMediaRecorder.prepare();
diff --git a/tests/tests/media/src/android/media/cts/MediaSessionTest.java b/tests/tests/media/src/android/media/cts/MediaSessionTest.java
index 78ad1f9..3ebe6e4 100644
--- a/tests/tests/media/src/android/media/cts/MediaSessionTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaSessionTest.java
@@ -26,6 +26,7 @@
 import android.media.VolumeProvider;
 import android.media.session.MediaController;
 import android.media.session.MediaSession;
+import android.media.session.MediaSession.QueueItem;
 import android.media.session.PlaybackState;
 import android.os.Bundle;
 import android.os.Handler;
@@ -165,8 +166,8 @@
 
             // test setQueue and setQueueTitle
             mCallback.resetLocked();
-            List<MediaSession.QueueItem> queue = new ArrayList<MediaSession.QueueItem>();
-            MediaSession.QueueItem item = new MediaSession.QueueItem(new MediaDescription.Builder()
+            List<QueueItem> queue = new ArrayList<>();
+            QueueItem item = new QueueItem(new MediaDescription.Builder()
                     .setMediaId(TEST_VALUE).setTitle("title").build(), TEST_QUEUE_ID);
             queue.add(item);
             mSession.setQueue(queue);
@@ -289,6 +290,23 @@
         }
     }
 
+    /**
+     * Tests MediaSession.QueueItem.
+     */
+    public void testQueueItem() {
+        QueueItem item = new QueueItem(new MediaDescription.Builder()
+                .setMediaId("media-id").setTitle("title").build(), TEST_QUEUE_ID);
+        assertEquals(TEST_QUEUE_ID, item.getQueueId());
+        assertEquals("media-id", item.getDescription().getMediaId());
+        assertEquals("title", item.getDescription().getTitle());
+
+        Parcel p = Parcel.obtain();
+        item.writeToParcel(p, 0);
+        p.setDataPosition(0);
+        QueueItem other = QueueItem.CREATOR.createFromParcel(p);
+        assertEquals(item.toString(), other.toString());
+        p.recycle();
+    }
 
     /**
      * Verifies that a new session hasn't had any configuration bits set yet.
@@ -334,7 +352,7 @@
 
         private volatile PlaybackState mPlaybackState;
         private volatile MediaMetadata mMediaMetadata;
-        private volatile List<MediaSession.QueueItem> mQueue;
+        private volatile List<QueueItem> mQueue;
         private volatile CharSequence mTitle;
         private volatile String mEvent;
         private volatile Bundle mExtras;
@@ -377,7 +395,7 @@
         }
 
         @Override
-        public void onQueueChanged(List<MediaSession.QueueItem> queue) {
+        public void onQueueChanged(List<QueueItem> queue) {
             synchronized (mWaitLock) {
                 mOnQueueChangedCalled = true;
                 mQueue = queue;
diff --git a/tests/tests/media/src/android/media/cts/MediaSyncTest.java b/tests/tests/media/src/android/media/cts/MediaSyncTest.java
index 41d8d89..c4fe4c1 100644
--- a/tests/tests/media/src/android/media/cts/MediaSyncTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaSyncTest.java
@@ -33,6 +33,8 @@
 import android.media.MediaTimestamp;
 import android.media.PlaybackParams;
 import android.media.SyncParams;
+import android.os.Handler;
+import android.os.HandlerThread;
 import android.test.ActivityInstrumentationTestCase2;
 import android.util.Log;
 import android.view.Surface;
@@ -56,7 +58,7 @@
     private static final String LOG_TAG = "MediaSyncTest";
 
     private final long NO_TIMESTAMP = -1;
-    private final int PLAYBACK_RATE_TOLERANCE_PERCENT = 2;
+    private final float FLOAT_PLAYBACK_RATE_TOLERANCE = .02f;
     private final long TIME_MEASUREMENT_TOLERANCE_US = 20000;
     final int INPUT_RESOURCE_ID =
             R.raw.video_480x360_mp4_h264_1350kbps_30fps_aac_stereo_192kbps_44100hz;
@@ -501,9 +503,9 @@
                     mediaDurationUs,
                     playTimeUs * playbackRate,
                     // sync.getTolerance() is MediaSync's tolerance of the playback rate, whereas
-                    // PLAYBACK_RATE_TOLERANCE_PERCENT / 100 is our test's tolerance.
+                    // FLOAT_PLAYBACK_RATE_TOLERANCE is our test's tolerance.
                     // We need to add both to get an upperbound for allowable error.
-                    mediaDurationUs * (sync.getTolerance() + PLAYBACK_RATE_TOLERANCE_PERCENT / 100.)
+                    mediaDurationUs * (sync.getTolerance() + FLOAT_PLAYBACK_RATE_TOLERANCE)
                             + TIME_MEASUREMENT_TOLERANCE_US);
         }
 
@@ -554,6 +556,9 @@
             }
         }
 
+        private HandlerThread mHandlerThread;
+        private Handler mHandler;
+
         Decoder(MediaSyncTest test, MediaSync sync, boolean isAudio) {
             mMediaSyncTest = test;
             mMediaSync = sync;
@@ -563,6 +568,10 @@
         public boolean setup(int inputResourceId, Surface surface, long lastBufferTimestampUs) {
             if (!mIsAudio) {
                 mSurface = surface;
+                // handle video callback in a separate thread as releaseOutputBuffer is blocking
+                mHandlerThread = new HandlerThread("SyncViewVidDec");
+                mHandlerThread.start();
+                mHandler = new Handler(mHandlerThread.getLooper());
             }
             mLastBufferTimestampUs = lastBufferTimestampUs;
             try {
@@ -581,7 +590,7 @@
                 }
                 mDecoder = MediaCodec.createDecoderByType(mimeType);
                 mDecoder.configure(mediaFormat, mSurface, null, 0);
-                mDecoder.setCallback(this);
+                mDecoder.setCallback(this, mHandler);
 
                 return true;
             } catch (IOException e) {
diff --git a/tests/tests/media/src/android/media/cts/MidiSoloTest.java b/tests/tests/media/src/android/media/cts/MidiSoloTest.java
index 4c1a5e8..d198ee8 100644
--- a/tests/tests/media/src/android/media/cts/MidiSoloTest.java
+++ b/tests/tests/media/src/android/media/cts/MidiSoloTest.java
@@ -97,9 +97,7 @@
         MidiManager.DeviceCallback callback = new MidiManager.DeviceCallback();
 
         // These should not crash.
-        midiManager.unregisterDeviceCallback(null);
         midiManager.unregisterDeviceCallback(callback);
-        midiManager.registerDeviceCallback(null, null);
         midiManager.registerDeviceCallback(callback, null);
         midiManager.unregisterDeviceCallback(callback);
         midiManager.registerDeviceCallback(callback, new Handler(Looper.getMainLooper()));
@@ -107,9 +105,6 @@
         midiManager.unregisterDeviceCallback(callback);
         midiManager.unregisterDeviceCallback(callback);
         midiManager.unregisterDeviceCallback(callback);
-        midiManager.registerDeviceCallback(null, new Handler(Looper.getMainLooper()));
-        midiManager.unregisterDeviceCallback(callback);
-        midiManager.unregisterDeviceCallback(null);
     }
 
     public void testMidiReceiver() throws Exception {
diff --git a/tests/tests/media/src/android/media/cts/ResourceManagerStubActivity.java b/tests/tests/media/src/android/media/cts/ResourceManagerStubActivity.java
index d453e3f..5595800 100644
--- a/tests/tests/media/src/android/media/cts/ResourceManagerStubActivity.java
+++ b/tests/tests/media/src/android/media/cts/ResourceManagerStubActivity.java
@@ -28,6 +28,27 @@
     private int[] mRequestCodes = {0, 1};
     private boolean[] mResults = {false, false};
     private int mNumResults = 0;
+    private int mType1 = ResourceManagerTestActivityBase.TYPE_NONSECURE;
+    private int mType2 = ResourceManagerTestActivityBase.TYPE_NONSECURE;
+    private boolean mWaitForReclaim = true;
+
+    private static final String ERROR_INSUFFICIENT_RESOURCES =
+            "* Please check if the omx component is returning OMX_ErrorInsufficientResources " +
+            "properly when the codec failure is due to insufficient resource.\n";
+    private static final String ERROR_SUPPORTS_MULTIPLE_SECURE_CODECS =
+            "* Please check if this platform supports multiple concurrent secure codec " +
+            "instances. If not, please add below setting in /etc/media_codecs.xml in order " +
+            "to pass the test:\n" +
+            "    <Settings>\n" +
+            "       <Setting name=\"supports-multiple-secure-codecs\" value=\"false\" />\n" +
+            "    </Settings>\n";
+    private static final String ERROR_SUPPORTS_SECURE_WITH_NON_SECURE_CODEC =
+            "* Please check if this platform supports co-exist of secure and non-secure codec. " +
+            "If not, please add below setting in /etc/media_codecs.xml in order to pass the " +
+            "test:\n" +
+            "    <Settings>\n" +
+            "       <Setting name=\"supports-secure-with-non-secure-codec\" value=\"false\" />\n" +
+            "    </Settings>\n";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -36,7 +57,7 @@
 
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-        Log.d(TAG, "Activity " + requestCode + " finished.");
+        Log.d(TAG, "Activity " + requestCode + " finished with resultCode " + resultCode);
         mResults[requestCode] = (resultCode == RESULT_OK);
         if (++mNumResults == mResults.length) {
             synchronized (mFinishEvent) {
@@ -45,17 +66,28 @@
         }
     }
 
-    public boolean testReclaimResource() throws InterruptedException {
+    public void testReclaimResource(int type1, int type2) throws InterruptedException {
+        mType1 = type1;
+        mType2 = type2;
+        if (type1 != ResourceManagerTestActivityBase.TYPE_MIX && type1 != type2) {
+            // in this case, activity2 may not need to reclaim codec from activity1.
+            mWaitForReclaim = false;
+        } else {
+            mWaitForReclaim = true;
+        }
         Thread thread = new Thread() {
             @Override
             public void run() {
                 try {
                     Context context = getApplicationContext();
                     Intent intent1 = new Intent(context, ResourceManagerTestActivity1.class);
+                    intent1.putExtra("test-type", mType1);
+                    intent1.putExtra("wait-for-reclaim", mWaitForReclaim);
                     startActivityForResult(intent1, mRequestCodes[0]);
                     Thread.sleep(5000);  // wait for process to launch and allocate all codecs.
 
                     Intent intent2 = new Intent(context, ResourceManagerTestActivity2.class);
+                    intent2.putExtra("test-type", mType2);
                     startActivityForResult(intent2, mRequestCodes[1]);
 
                     synchronized (mFinishEvent) {
@@ -67,11 +99,30 @@
             }
         };
         thread.start();
-        thread.join(10000);
+        thread.join(20000 /* millis */);
+        System.gc();
+        Thread.sleep(5000);  // give the gc a chance to release test activities.
 
+        boolean result = true;
         for (int i = 0; i < mResults.length; ++i) {
-            Assert.assertTrue("Result from activity " + i + " is a fail.", mResults[i]);
+            if (!mResults[i]) {
+                Log.e(TAG, "Result from activity " + i + " is a fail.");
+                result = false;
+                break;
+            }
         }
-        return true;
+        if (!result) {
+            String failMessage = "The potential reasons for the failure:\n";
+            StringBuilder reasons = new StringBuilder();
+            reasons.append(ERROR_INSUFFICIENT_RESOURCES);
+            if (mType1 != mType2) {
+                reasons.append(ERROR_SUPPORTS_SECURE_WITH_NON_SECURE_CODEC);
+            }
+            if (mType1 == ResourceManagerTestActivityBase.TYPE_MIX &&
+                    mType2 == ResourceManagerTestActivityBase.TYPE_SECURE) {
+                reasons.append(ERROR_SUPPORTS_MULTIPLE_SECURE_CODECS);
+            }
+            Assert.assertTrue(failMessage + reasons.toString(), result);
+        }
     }
 }
diff --git a/tests/tests/media/src/android/media/cts/ResourceManagerTest.java b/tests/tests/media/src/android/media/cts/ResourceManagerTest.java
index 5170aac..7305651 100644
--- a/tests/tests/media/src/android/media/cts/ResourceManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/ResourceManagerTest.java
@@ -26,11 +26,41 @@
         super("com.android.cts.media", ResourceManagerStubActivity.class);
     }
 
-    public void testReclaimResource() throws Exception {
+    private void doTestReclaimResource(int type1, int type2) throws Exception {
         Bundle extras = new Bundle();
         ResourceManagerStubActivity activity = launchActivity(
                 "com.android.cts.media", ResourceManagerStubActivity.class, extras);
-        activity.testReclaimResource();
+        activity.testReclaimResource(type1, type2);
         activity.finish();
     }
+
+    public void testReclaimResourceNonsecureVsNonsecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_NONSECURE,
+                ResourceManagerTestActivityBase.TYPE_NONSECURE);
+    }
+
+    public void testReclaimResourceNonsecureVsSecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_NONSECURE,
+                ResourceManagerTestActivityBase.TYPE_SECURE);
+    }
+
+    public void testReclaimResourceSecureVsNonsecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_SECURE,
+                ResourceManagerTestActivityBase.TYPE_NONSECURE);
+    }
+
+    public void testReclaimResourceSecureVsSecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_SECURE,
+                ResourceManagerTestActivityBase.TYPE_SECURE);
+    }
+
+    public void testReclaimResourceMixVsNonsecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_MIX,
+                ResourceManagerTestActivityBase.TYPE_NONSECURE);
+    }
+
+    public void testReclaimResourceMixVsSecure() throws Exception {
+        doTestReclaimResource(ResourceManagerTestActivityBase.TYPE_MIX,
+                ResourceManagerTestActivityBase.TYPE_SECURE);
+    }
 }
diff --git a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity1.java b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity1.java
index aff3f03..a11d773 100644
--- a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity1.java
+++ b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity1.java
@@ -31,12 +31,16 @@
         super.onCreate(savedInstanceState);
         moveTaskToBack(true);
 
-        if (allocateCodecs(MAX_INSTANCES) == MAX_INSTANCES) {
-            // haven't reached the limit with MAX_INSTANCES, report RESULT_OK directly and
-            // skip additional test.
-            setResult(Activity.RESULT_OK);
-            finish();
+        Bundle extras = getIntent().getExtras();
+        if (extras != null) {
+            mWaitForReclaim = extras.getBoolean("wait-for-reclaim", mWaitForReclaim);
         }
+
+        if (allocateCodecs(MAX_INSTANCES) == MAX_INSTANCES) {
+            // haven't reached the limit with MAX_INSTANCES, no need to wait for reclaim exception.
+            mWaitForReclaim = false;
+        }
+
         useCodecs();
     }
 }
diff --git a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity2.java b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity2.java
index f4c57f5..79d0d2d 100644
--- a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity2.java
+++ b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivity2.java
@@ -28,9 +28,7 @@
         Log.d(TAG, "onCreate called.");
         super.onCreate(savedInstanceState);
 
-        if (allocateCodecs(1) == 1) {
-          setResult(Activity.RESULT_OK);
-          finish();
-        }
+        int result = (allocateCodecs(1 /* max */) == 1) ? RESULT_OK : RESULT_CANCELED;
+        finishWithResult(result);
     }
 }
diff --git a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivityBase.java b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivityBase.java
index 9c48fc4..689babb 100644
--- a/tests/tests/media/src/android/media/cts/ResourceManagerTestActivityBase.java
+++ b/tests/tests/media/src/android/media/cts/ResourceManagerTestActivityBase.java
@@ -29,7 +29,12 @@
 import java.util.Vector;
 
 public class ResourceManagerTestActivityBase extends Activity {
+    public static final int TYPE_NONSECURE = 0;
+    public static final int TYPE_SECURE = 1;
+    public static final int TYPE_MIX = 2;
+
     protected String TAG;
+    private static final int FRAME_RATE = 10;
     private static final int IFRAME_INTERVAL = 10;  // 10 seconds between I-frames
     private static final String MIME = MediaFormat.MIMETYPE_VIDEO_AVC;
 
@@ -60,27 +65,26 @@
 
     private MediaCodec.Callback mCallback = new TestCodecCallback();
 
-    private static MediaFormat getTestFormat(VideoCapabilities vcaps) {
-        int maxWidth = vcaps.getSupportedWidths().getUpper();
-        int maxHeight = vcaps.getSupportedHeightsFor(maxWidth).getUpper();
-        int maxBitrate = vcaps.getBitrateRange().getUpper();
-        int maxFramerate = vcaps.getSupportedFrameRatesFor(maxWidth, maxHeight)
-                .getUpper().intValue();
+    private MediaFormat getTestFormat(CodecCapabilities caps, boolean securePlayback) {
+        VideoCapabilities vcaps = caps.getVideoCapabilities();
+        int width = vcaps.getSupportedWidths().getLower();
+        int height = vcaps.getSupportedHeightsFor(width).getLower();
+        int bitrate = vcaps.getBitrateRange().getLower();
 
-        MediaFormat format = MediaFormat.createVideoFormat(MIME, maxWidth, maxHeight);
-        format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
-                CodecCapabilities.COLOR_FormatYUV420Flexible);
-        format.setInteger(MediaFormat.KEY_BIT_RATE, maxBitrate);
-        format.setInteger(MediaFormat.KEY_FRAME_RATE, maxFramerate);
+        MediaFormat format = MediaFormat.createVideoFormat(MIME, width, height);
+        format.setInteger(MediaFormat.KEY_COLOR_FORMAT, caps.colorFormats[0]);
+        format.setInteger(MediaFormat.KEY_BIT_RATE, bitrate);
+        format.setInteger(MediaFormat.KEY_FRAME_RATE, FRAME_RATE);
         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, IFRAME_INTERVAL);
+        format.setFeatureEnabled(CodecCapabilities.FEATURE_SecurePlayback, securePlayback);
         return format;
     }
 
-    private MediaCodecInfo getTestCodecInfo() {
+    private MediaCodecInfo getTestCodecInfo(boolean securePlayback) {
         // Use avc decoder for testing.
         boolean isEncoder = false;
 
-        MediaCodecList mcl = new MediaCodecList(MediaCodecList.REGULAR_CODECS);
+        MediaCodecList mcl = new MediaCodecList(MediaCodecList.ALL_CODECS);
         for (MediaCodecInfo info : mcl.getCodecInfos()) {
             if (info.isEncoder() != isEncoder) {
                 continue;
@@ -88,6 +92,17 @@
             CodecCapabilities caps;
             try {
                 caps = info.getCapabilitiesForType(MIME);
+                boolean securePlaybackSupported =
+                        caps.isFeatureSupported(CodecCapabilities.FEATURE_SecurePlayback);
+                boolean securePlaybackRequired =
+                        caps.isFeatureRequired(CodecCapabilities.FEATURE_SecurePlayback);
+                if ((securePlayback && securePlaybackSupported) ||
+                        (!securePlayback && !securePlaybackRequired) ) {
+                    Log.d(TAG, "securePlayback " + securePlayback + " will use " + info.getName());
+                } else {
+                    Log.d(TAG, "securePlayback " + securePlayback + " skip " + info.getName());
+                    continue;
+                }
             } catch (IllegalArgumentException e) {
                 // mime is not supported
                 continue;
@@ -99,25 +114,62 @@
     }
 
     protected int allocateCodecs(int max) {
-        MediaCodecInfo info = getTestCodecInfo();
-        if (info == null) {
-            // skip the test
-            return 0;
+        Bundle extras = getIntent().getExtras();
+        int type = TYPE_NONSECURE;
+        if (extras != null) {
+            type = extras.getInt("test-type", type);
+            Log.d(TAG, "type is: " + type);
         }
 
+        boolean shouldSkip = false;
+        boolean securePlayback;
+        if (type == TYPE_NONSECURE || type == TYPE_MIX) {
+            securePlayback = false;
+            MediaCodecInfo info = getTestCodecInfo(securePlayback);
+            if (info != null) {
+                allocateCodecs(max, info, securePlayback);
+            } else {
+                shouldSkip = true;
+            }
+        }
+
+        if (!shouldSkip) {
+            if (type == TYPE_SECURE || type == TYPE_MIX) {
+                securePlayback = true;
+                MediaCodecInfo info = getTestCodecInfo(securePlayback);
+                if (info != null) {
+                    allocateCodecs(max, info, securePlayback);
+                } else {
+                    shouldSkip = true;
+                }
+            }
+        }
+
+        if (shouldSkip) {
+            Log.d(TAG, "test skipped as there's no supported codec.");
+            finishWithResult(RESULT_OK);
+        }
+
+        Log.d(TAG, "allocateCodecs returned " + mCodecs.size());
+        return mCodecs.size();
+    }
+
+    protected void allocateCodecs(int max, MediaCodecInfo info, boolean securePlayback) {
         String name = info.getName();
-        VideoCapabilities vcaps = info.getCapabilitiesForType(MIME).getVideoCapabilities();
-        MediaFormat format = getTestFormat(vcaps);
-        for (int i = 0; i < max; ++i) {
+        CodecCapabilities caps = info.getCapabilitiesForType(MIME);
+        MediaFormat format = getTestFormat(caps, securePlayback);
+        MediaCodec codec = null;
+        for (int i = mCodecs.size(); i < max; ++i) {
             try {
                 Log.d(TAG, "Create codec " + name + " #" + i);
-                MediaCodec codec = MediaCodec.createByCodecName(name);
+                codec = MediaCodec.createByCodecName(name);
                 codec.setCallback(mCallback);
                 Log.d(TAG, "Configure codec " + format);
                 codec.configure(format, null, null, 0);
                 Log.d(TAG, "Start codec " + format);
                 codec.start();
                 mCodecs.add(codec);
+                codec = null;
             } catch (IllegalArgumentException e) {
                 Log.d(TAG, "IllegalArgumentException " + e.getMessage());
                 break;
@@ -127,10 +179,25 @@
             } catch (MediaCodec.CodecException e) {
                 Log.d(TAG, "CodecException 0x" + Integer.toHexString(e.getErrorCode()));
                 break;
+            } finally {
+                if (codec != null) {
+                    Log.d(TAG, "release codec");
+                    codec.release();
+                    codec = null;
+                }
             }
         }
+    }
 
-        return mCodecs.size();
+    protected void finishWithResult(int result) {
+        for (int i = 0; i < mCodecs.size(); ++i) {
+            Log.d(TAG, "release codec #" + i);
+            mCodecs.get(i).release();
+        }
+        mCodecs.clear();
+        setResult(result);
+        finish();
+        Log.d(TAG, "activity finished");
     }
 
     private void doUseCodecs() {
@@ -144,20 +211,38 @@
             if (e.getErrorCode() == MediaCodec.CodecException.ERROR_RECLAIMED) {
                 Log.d(TAG, "Remove codec " + current + " from the list");
                 mCodecs.remove(current);
-                setResult(Activity.RESULT_OK);
-                finish();
+                mGotReclaimedException = true;
+                mUseCodecs = false;
             }
             return;
         }
     }
 
+    protected boolean mWaitForReclaim = true;
     private Thread mWorkerThread;
+    private volatile boolean mUseCodecs = true;
+    private volatile boolean mGotReclaimedException = false;
     protected void useCodecs() {
         mWorkerThread = new Thread(new Runnable() {
             @Override
             public void run() {
-                while (true) {
+                long start = System.currentTimeMillis();
+                long timeSinceStartedMs = 0;
+                while (mUseCodecs && (timeSinceStartedMs < 15000)) {  // timeout in 15s
                     doUseCodecs();
+                    try {
+                        Thread.sleep(50 /* millis */);
+                    } catch (InterruptedException e) {}
+                    timeSinceStartedMs = System.currentTimeMillis() - start;
+                }
+                if (mGotReclaimedException) {
+                    Log.d(TAG, "Got expected reclaim exception.");
+                    finishWithResult(RESULT_OK);
+                } else {
+                    Log.d(TAG, "Stopped without getting reclaim exception.");
+                    // if the test is supposed to wait for reclaim event then this is a failure,
+                    // otherwise this is a pass.
+                    finishWithResult(mWaitForReclaim ? RESULT_CANCELED : RESULT_OK);
                 }
             }
         });
@@ -168,9 +253,5 @@
     protected void onDestroy() {
         Log.d(TAG, "onDestroy called.");
         super.onDestroy();
-
-        for (int i = 0; i < mCodecs.size(); ++i) {
-            mCodecs.get(i).release();
-        }
     }
 }
diff --git a/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java b/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
index bf47a27..4693036 100644
--- a/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
+++ b/tests/tests/media/src/android/media/cts/RingtoneManagerTest.java
@@ -55,6 +55,7 @@
         mActivity = getActivity();
         mInstrumentation = getInstrumentation();
         mContext = mInstrumentation.getContext();
+        Utils.enableAppOps(mContext.getPackageName(), "android:write_settings", mInstrumentation);
         mRingtoneManager = new RingtoneManager(mActivity);
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
         // backup ringer settings
@@ -74,6 +75,7 @@
         }
         RingtoneManager.setActualDefaultRingtoneUri(mContext, RingtoneManager.TYPE_RINGTONE,
                 mDefaultUri);
+        Utils.disableAppOps(mContext.getPackageName(), "android:write_settings", mInstrumentation);
         super.tearDown();
     }
 
diff --git a/tests/tests/media/src/android/media/cts/RingtoneTest.java b/tests/tests/media/src/android/media/cts/RingtoneTest.java
index f5218e3..3527b1a 100644
--- a/tests/tests/media/src/android/media/cts/RingtoneTest.java
+++ b/tests/tests/media/src/android/media/cts/RingtoneTest.java
@@ -16,6 +16,7 @@
 
 package android.media.cts;
 
+import android.app.UiAutomation;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.media.AudioManager;
@@ -23,10 +24,10 @@
 import android.media.RingtoneManager;
 import android.net.Uri;
 import android.provider.Settings;
-import android.test.AndroidTestCase;
+import android.test.InstrumentationTestCase;
 import android.util.Log;
 
-public class RingtoneTest extends AndroidTestCase {
+public class RingtoneTest extends InstrumentationTestCase {
     private static final String TAG = "RingtoneTest";
 
     private Context mContext;
@@ -40,7 +41,8 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        mContext = getContext();
+        enableAppOps();
+        mContext = getInstrumentation().getContext();
         mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
         mRingtone = RingtoneManager.getRingtone(mContext, Settings.System.DEFAULT_RINGTONE_URI);
         // backup ringer settings
@@ -58,6 +60,18 @@
                 RingtoneManager.TYPE_RINGTONE);
     }
 
+    private void enableAppOps() {
+        StringBuilder cmd = new StringBuilder();
+        cmd.append("appops set ");
+        cmd.append(getInstrumentation().getContext().getPackageName());
+        cmd.append(" android:write_settings allow");
+        getInstrumentation().getUiAutomation().executeShellCommand(cmd.toString());
+        try {
+            Thread.sleep(2200);
+        } catch (InterruptedException e) {
+        }
+    }
+
     @Override
     protected void tearDown() throws Exception {
         // restore original settings
@@ -76,7 +90,7 @@
     }
 
     private boolean hasAudioOutput() {
-        return getContext().getPackageManager()
+        return getInstrumentation().getContext().getPackageManager()
             .hasSystemFeature(PackageManager.FEATURE_AUDIO_OUTPUT);
     }
 
diff --git a/tests/tests/media/src/android/media/cts/Utils.java b/tests/tests/media/src/android/media/cts/Utils.java
new file mode 100644
index 0000000..bb9cf78
--- /dev/null
+++ b/tests/tests/media/src/android/media/cts/Utils.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.media.cts;
+
+import android.app.Instrumentation;
+import android.app.UiAutomation;
+import android.os.ParcelFileDescriptor;
+
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Scanner;
+
+public class Utils {
+    public static void enableAppOps(String packageName, String operation,
+            Instrumentation instrumentation) {
+        setAppOps(packageName, operation, instrumentation, true);
+    }
+
+    public static void disableAppOps(String packageName, String operation,
+            Instrumentation instrumentation) {
+        setAppOps(packageName, operation, instrumentation, false);
+    }
+
+    public static String convertStreamToString(InputStream is) {
+        try (Scanner scanner = new Scanner(is).useDelimiter("\\A")) {
+            return scanner.hasNext() ? scanner.next() : "";
+        }
+    }
+
+    private static void setAppOps(String packageName, String operation,
+            Instrumentation instrumentation, boolean enable) {
+        StringBuilder cmd = new StringBuilder();
+        cmd.append("appops set ");
+        cmd.append(packageName);
+        cmd.append(" ");
+        cmd.append(operation);
+        cmd.append(enable ? " allow" : " deny");
+        instrumentation.getUiAutomation().executeShellCommand(cmd.toString());
+
+        StringBuilder query = new StringBuilder();
+        query.append("appops get ");
+        query.append(packageName);
+        query.append(" ");
+        query.append(operation);
+        String queryStr = query.toString();
+
+        String expectedResult = enable ? "allow" : "deny";
+        String result = "";
+        while(!result.contains(expectedResult)) {
+            ParcelFileDescriptor pfd = instrumentation.getUiAutomation().executeShellCommand(
+                                                            queryStr);
+            InputStream inputStream = new FileInputStream(pfd.getFileDescriptor());
+            result = convertStreamToString(inputStream);
+        }
+    }
+}
diff --git a/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java b/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
index 54024f7..f5680f6 100644
--- a/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
+++ b/tests/tests/media/src/android/media/cts/VideoDecoderPerfTest.java
@@ -27,22 +27,26 @@
 import android.media.MediaCodecList;
 import android.media.MediaCodecInfo;
 import android.media.MediaCodecInfo.CodecCapabilities;
+import android.media.MediaCodecInfo.VideoCapabilities;
 import android.media.MediaExtractor;
 import android.media.MediaFormat;
 import android.util.Log;
+import android.util.Range;
 import android.view.Surface;
 
-import com.android.cts.util.ReportLog;
 import com.android.cts.util.ResultType;
 import com.android.cts.util.ResultUnit;
+import com.android.cts.util.Stat;
 
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.ArrayList;
+import java.util.LinkedList;
 
 public class VideoDecoderPerfTest extends MediaPlayerTestBase {
     private static final String TAG = "VideoDecoderPerfTest";
     private static final int TOTAL_FRAMES = 3000;
+    private static final int MAX_TIME_MS = 120000;  // 2 minutes
     private static final int NUMBER_OF_REPEAT = 2;
     private static final String VIDEO_AVC = MediaFormat.MIMETYPE_VIDEO_AVC;
     private static final String VIDEO_VP8 = MediaFormat.MIMETYPE_VIDEO_VP8;
@@ -51,20 +55,35 @@
     private static final String VIDEO_H263 = MediaFormat.MIMETYPE_VIDEO_H263;
     private static final String VIDEO_MPEG4 = MediaFormat.MIMETYPE_VIDEO_MPEG4;
 
+    private static final int MAX_SIZE_SAMPLES_IN_MEMORY_BYTES = 5 * 1024 * 1024;  // 5MB
+    LinkedList<ByteBuffer> mSamplesInMemory = new LinkedList<ByteBuffer>();
+    private static final int MOVING_AVERAGE_NUM = 10;
+    private MediaFormat mDecOutputFormat;
+    private double[] mMeasuredFps;
+    private String[] mResultRawData;
+
     private Resources mResources;
-    private DeviceReportLog mReportLog = new DeviceReportLog();
+    private DeviceReportLog mReportLog;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
         mResources = mContext.getResources();
+        mReportLog = new DeviceReportLog();
     }
 
-    private static String[] getDecoderName(String mime) {
+    @Override
+    protected void tearDown() throws Exception {
+        mReportLog.deliverReportToHost(getInstrumentation());
+        super.tearDown();
+    }
+
+    private static String[] getDecoderName(String mime, boolean isGoog) {
         MediaCodecList mcl = new MediaCodecList(MediaCodecList.REGULAR_CODECS);
         ArrayList<String> result = new ArrayList<String>();
         for (MediaCodecInfo info : mcl.getCodecInfos()) {
-            if (info.isEncoder()) {
+            if (info.isEncoder() ||
+                    info.getName().toLowerCase().startsWith("omx.google.") != isGoog) {
                 continue;
             }
             CodecCapabilities caps = null;
@@ -78,43 +97,94 @@
         return result.toArray(new String[result.size()]);
     }
 
-    private void decode(String mime, int video, int width, int height) throws Exception {
-        String[] names = getDecoderName(mime);
+    private void decode(String mime, int video, int width, int height,
+            boolean isGoog) throws Exception {
+        String[] names = getDecoderName(mime, isGoog);
         for (String name: names) {
             if (!MediaUtils.supports(name, mime, width, height)) {
                 Log.i(TAG, "Codec " + name + " with " + width + "," + height + " not supported");
                 continue;
             }
 
+            boolean pass = false;
+            mMeasuredFps = new double[NUMBER_OF_REPEAT];
+            mResultRawData = new String[NUMBER_OF_REPEAT];
             Log.d(TAG, "testing " + name);
             for (int i = 0; i < NUMBER_OF_REPEAT; ++i) {
                 // Decode to Surface.
                 Log.d(TAG, "round #" + i + " decode to surface");
                 Surface s = getActivity().getSurfaceHolder().getSurface();
-                doDecode(name, video, TOTAL_FRAMES, s);
+                // only verify the result for decode to surface case.
+                if (doDecode(name, video, width, height, s, i)) {
+                    pass = true;
+                }
 
                 // Decode to buffer.
                 Log.d(TAG, "round #" + i + " decode to buffer");
-                doDecode(name, video, TOTAL_FRAMES, null);
+                doDecode(name, video, width, height, null, i);
             }
+
+            if (!pass) {
+                Range<Double> reportedRange =
+                    MediaUtils.getAchievableFrameRatesFor(name, mime, width, height);
+                String failMessage =
+                    MediaUtils.getErrorMessage(reportedRange, mMeasuredFps, mResultRawData);
+                fail(failMessage);
+            }
+            mMeasuredFps = null;
+            mResultRawData = null;
         }
+        // use 0 for summary line, detail for each test config is in the report.
+        mReportLog.printSummary("average fps", 0, ResultType.HIGHER_BETTER, ResultUnit.FPS);
+        mSamplesInMemory.clear();
     }
 
-    private void doDecode(String name, int video, int stopAtSample, Surface surface)
+    private boolean doDecode(String name, int video, int w, int h, Surface surface, int round)
             throws Exception {
         AssetFileDescriptor testFd = mResources.openRawResourceFd(video);
         MediaExtractor extractor = new MediaExtractor();
         extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
                 testFd.getLength());
         extractor.selectTrack(0);
-
         int trackIndex = extractor.getSampleTrackIndex();
         MediaFormat format = extractor.getTrackFormat(trackIndex);
         String mime = format.getString(MediaFormat.KEY_MIME);
         ByteBuffer[] codecInputBuffers;
         ByteBuffer[] codecOutputBuffers;
 
+        if (mSamplesInMemory.size() == 0) {
+            int totalMemory = 0;
+            ByteBuffer tmpBuf = ByteBuffer.allocate(w * h * 3 / 2);
+            int sampleSize = 0;
+            int index = 0;
+            while ((sampleSize = extractor.readSampleData(tmpBuf, 0 /* offset */)) > 0) {
+                if (totalMemory + sampleSize > MAX_SIZE_SAMPLES_IN_MEMORY_BYTES) {
+                    break;
+                }
+                ByteBuffer copied = ByteBuffer.allocate(sampleSize);
+                copied.put(tmpBuf);
+                mSamplesInMemory.addLast(copied);
+                totalMemory += sampleSize;
+                extractor.advance();
+            }
+            Log.d(TAG, mSamplesInMemory.size() + " samples in memory for " +
+                    (totalMemory / 1024) + " KB.");
+        }
+        int sampleIndex = 0;
+
+        extractor.release();
+        testFd.close();
+
         MediaCodec codec = MediaCodec.createByCodecName(name);
+        VideoCapabilities cap = codec.getCodecInfo().getCapabilitiesForType(mime).getVideoCapabilities();
+        int frameRate = 120;
+        try {
+            frameRate = cap.getSupportedFrameRatesFor(w, h).getUpper().intValue();
+        } catch (IllegalArgumentException e) {
+            Log.w(TAG, "unsupported size");
+            codec.release();
+            return false;
+        }
         codec.configure(format, surface, null /* crypto */, 0 /* flags */);
         codec.start();
         codecInputBuffers = codec.getInputBuffers();
@@ -124,14 +194,12 @@
         MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
 
         final long kTimeOutUs = 5000; // 5ms timeout
-        long[] frameTimeDiff = new long[TOTAL_FRAMES - 1];
+        double[] frameTimeDiff = new double[TOTAL_FRAMES - 1];
         long lastOutputTimeNs = 0;
         boolean sawInputEOS = false;
         boolean sawOutputEOS = false;
         int inputNum = 0;
         int outputNum = 0;
-        int width = 0;
-        int height = 0;
         long start = System.currentTimeMillis();
         while (!sawOutputEOS) {
             // handle input
@@ -140,25 +208,21 @@
 
                 if (inputBufIndex >= 0) {
                     ByteBuffer dstBuf = codecInputBuffers[inputBufIndex];
+                    ByteBuffer sample =
+                            mSamplesInMemory.get(sampleIndex++ % mSamplesInMemory.size());
+                    sample.rewind();
+                    int sampleSize = sample.remaining();
+                    dstBuf.put(sample);
+                    // use 120fps to compute pts
+                    long presentationTimeUs = inputNum * 1000000L / frameRate;
 
-                    int sampleSize =
-                            extractor.readSampleData(dstBuf, 0 /* offset */);
-                    if (sampleSize < 0) {
-                        // repeat from beginning.
-                        extractor.release();
-                        extractor = new MediaExtractor();
-                        extractor.setDataSource(testFd.getFileDescriptor(), testFd.getStartOffset(),
-                                testFd.getLength());
-                        extractor.selectTrack(0);
-                        sampleSize =
-                            extractor.readSampleData(dstBuf, 0 /* offset */);
+                    sawInputEOS = (++inputNum == TOTAL_FRAMES);
+                    if (!sawInputEOS &&
+                            ((System.currentTimeMillis() - start) > MAX_TIME_MS)) {
+                        sawInputEOS = true;
                     }
-                    assert sampleSize >= 0:
-                        "extractor.readSampleData returns negative.";
-                    long presentationTimeUs = extractor.getSampleTime();
-                    if (++inputNum == stopAtSample) {
+                    if (sawInputEOS) {
                         Log.d(TAG, "saw input EOS (stop at sample).");
-                        sawInputEOS = true; // tag this sample as EOS
                     }
                     codec.queueInputBuffer(
                             inputBufIndex,
@@ -193,9 +257,9 @@
                 codecOutputBuffers = codec.getOutputBuffers();
                 Log.d(TAG, "output buffers have changed.");
             } else if (outputBufIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
-                MediaFormat oformat = codec.getOutputFormat();
-                width = oformat.getInteger(MediaFormat.KEY_WIDTH);
-                height = oformat.getInteger(MediaFormat.KEY_HEIGHT);
+                mDecOutputFormat = codec.getOutputFormat();
+                int width = mDecOutputFormat.getInteger(MediaFormat.KEY_WIDTH);
+                int height = mDecOutputFormat.getInteger(MediaFormat.KEY_HEIGHT);
                 Log.d(TAG, "output resolution " + width + "x" + height);
             } else {
                 assertEquals(
@@ -205,157 +269,300 @@
             }
         }
         long finish = System.currentTimeMillis();
-
+        int validDataNum = outputNum - 1;
+        frameTimeDiff = Arrays.copyOf(frameTimeDiff, validDataNum);
         codec.stop();
         codec.release();
 
-        extractor.release();
-        testFd.close();
-
         Log.d(TAG, "input num " + inputNum + " vs output num " + outputNum);
 
         String testConfig = "codec=" + name +
                 " decodeto=" + ((surface == null) ? "buffer" : "surface") +
-                " size=" + width + "x" + height;
+                " mime=" + mime + " round=" + round +
+                " DecOutputFormat=" + mDecOutputFormat;
 
         String message = "average fps for " + testConfig;
         double fps = (double)outputNum / ((finish - start) / 1000.0);
         mReportLog.printValue(message, fps, ResultType.HIGHER_BETTER, ResultUnit.FPS);
 
-        message = "frame time diff for " + testConfig + ": " + Arrays.toString(frameTimeDiff);
-        mReportLog.printValue(message, 0, ResultType.NEUTRAL, ResultUnit.NONE);
+        double[] avgs = MediaUtils.calculateMovingAverage(frameTimeDiff, MOVING_AVERAGE_NUM);
+        double decMin = Stat.getMin(avgs);
+        double decMax = Stat.getMax(avgs);
+        double decAvg = Stat.getAverage(avgs);
+        double decStdev = MediaUtils.getStdev(avgs);
+        String result =
+                MediaUtils.logResults(mReportLog, testConfig, decMin, decMax, decAvg, decStdev);
+        fps = 1000000000 / decMin;
+        if (surface != null) {
+            mMeasuredFps[round] = fps;
+            mResultRawData[round] = result;
+        }
+
+        return MediaUtils.verifyResults(name, mime, w, h, fps);
     }
 
-    public void testH264320x240() throws Exception {
+    public void testH2640320x0240Other() throws Exception {
         decode(VIDEO_AVC,
                R.raw.video_320x240_mp4_h264_800kbps_30fps_aac_stereo_128kbps_44100hz,
-               320, 240);
+               320, 240, false /* isGoog */);
     }
 
-    public void testH264720x480() throws Exception {
+    public void testH2640320x0240Goog() throws Exception {
+        decode(VIDEO_AVC,
+               R.raw.video_320x240_mp4_h264_800kbps_30fps_aac_stereo_128kbps_44100hz,
+               320, 240, true /* isGoog */);
+    }
+
+    public void testH2640720x0480Other() throws Exception {
         decode(VIDEO_AVC,
                R.raw.video_720x480_mp4_h264_2048kbps_30fps_aac_stereo_128kbps_44100hz,
-               720, 480);
+               720, 480, false /* isGoog */);
     }
 
-    public void testH2641280x720() throws Exception {
+    public void testH2640720x0480Goog() throws Exception {
+        decode(VIDEO_AVC,
+               R.raw.video_720x480_mp4_h264_2048kbps_30fps_aac_stereo_128kbps_44100hz,
+               720, 480, true /* isGoog */);
+    }
+
+    public void testH2641280x0720Other() throws Exception {
         decode(VIDEO_AVC,
                R.raw.video_1280x720_mp4_h264_8192kbps_30fps_aac_stereo_128kbps_44100hz,
-               1280, 720);
+               1280, 720, false /* isGoog */);
     }
 
-    public void testH2641920x1080() throws Exception {
+    public void testH2641280x0720Goog() throws Exception {
+        decode(VIDEO_AVC,
+               R.raw.video_1280x720_mp4_h264_8192kbps_30fps_aac_stereo_128kbps_44100hz,
+               1280, 720, true /* isGoog */);
+    }
+
+    public void testH2641920x1080Other() throws Exception {
         decode(VIDEO_AVC,
                R.raw.video_1920x1080_mp4_h264_20480kbps_30fps_aac_stereo_128kbps_44100hz,
-               1920, 1080);
+               1920, 1080, false /* isGoog */);
     }
 
-    public void testVP8320x240() throws Exception {
+    public void testH2641920x1080Goog() throws Exception {
+        decode(VIDEO_AVC,
+               R.raw.video_1920x1080_mp4_h264_20480kbps_30fps_aac_stereo_128kbps_44100hz,
+               1920, 1080, true /* isGoog */);
+    }
+
+    public void testVP80320x0240Other() throws Exception {
         decode(VIDEO_VP8,
                R.raw.video_320x240_webm_vp8_800kbps_30fps_vorbis_stereo_128kbps_44100hz,
-               320, 240);
+               320, 240, false /* isGoog */);
     }
 
-    public void testVP8640x360() throws Exception {
+    public void testVP80320x0240Goog() throws Exception {
+        decode(VIDEO_VP8,
+               R.raw.video_320x240_webm_vp8_800kbps_30fps_vorbis_stereo_128kbps_44100hz,
+               320, 240, true /* isGoog */);
+    }
+
+    public void testVP80640x0360Other() throws Exception {
         decode(VIDEO_VP8,
                R.raw.video_640x360_webm_vp8_2048kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               640, 360);
+               640, 360, false /* isGoog */);
     }
 
-    public void testVP81280x720() throws Exception {
+    public void testVP80640x0360Goog() throws Exception {
+        decode(VIDEO_VP8,
+               R.raw.video_640x360_webm_vp8_2048kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               640, 360, true /* isGoog */);
+    }
+
+    public void testVP81280x0720Other() throws Exception {
         decode(VIDEO_VP8,
                R.raw.video_1280x720_webm_vp8_8192kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               1280, 720);
+               1280, 720, false /* isGoog */);
     }
 
-    public void testVP81920x1080() throws Exception {
+    public void testVP81280x0720Goog() throws Exception {
+        decode(VIDEO_VP8,
+               R.raw.video_1280x720_webm_vp8_8192kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               1280, 720, true /* isGoog */);
+    }
+
+    public void testVP81920x1080Other() throws Exception {
         decode(VIDEO_VP8,
                R.raw.video_1920x1080_webm_vp8_20480kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               1920, 1080);
+               1920, 1080, false /* isGoog */);
     }
 
-    public void testVP9320x240() throws Exception {
+    public void testVP81920x1080Goog() throws Exception {
+        decode(VIDEO_VP8,
+               R.raw.video_1920x1080_webm_vp8_20480kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               1920, 1080, true /* isGoog */);
+    }
+
+    public void testVP90320x0240Other() throws Exception {
         decode(VIDEO_VP9,
                R.raw.video_320x240_webm_vp9_600kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               320, 240);
+               320, 240, false /* isGoog */);
     }
 
-    public void testVP9640x360() throws Exception {
+    public void testVP90320x0240Goog() throws Exception {
+        decode(VIDEO_VP9,
+               R.raw.video_320x240_webm_vp9_600kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               320, 240, true /* isGoog */);
+    }
+
+    public void testVP90640x0360Other() throws Exception {
         decode(VIDEO_VP9,
                R.raw.video_640x360_webm_vp9_1600kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               640, 360);
+               640, 360, false /* isGoog */);
     }
 
-    public void testVP91280x720() throws Exception {
+    public void testVP90640x0360Goog() throws Exception {
+        decode(VIDEO_VP9,
+               R.raw.video_640x360_webm_vp9_1600kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               640, 360, true /* isGoog */);
+    }
+
+    public void testVP91280x0720Other() throws Exception {
         decode(VIDEO_VP9,
                R.raw.video_1280x720_webm_vp9_4096kbps_30fps_vorbis_stereo_128kbps_44100hz,
-               1280, 720);
+               1280, 720, false /* isGoog */);
     }
 
-    public void testVP91920x1080() throws Exception {
+    public void testVP91280x0720Goog() throws Exception {
+        decode(VIDEO_VP9,
+               R.raw.video_1280x720_webm_vp9_4096kbps_30fps_vorbis_stereo_128kbps_44100hz,
+               1280, 720, true /* isGoog */);
+    }
+
+    public void testVP91920x1080Other() throws Exception {
         decode(VIDEO_VP9,
                R.raw.video_1920x1080_webm_vp9_10240kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               1920, 1080);
+               1920, 1080, false /* isGoog */);
     }
 
-    public void testVP93840x2160() throws Exception {
+    public void testVP91920x1080Goog() throws Exception {
+        decode(VIDEO_VP9,
+               R.raw.video_1920x1080_webm_vp9_10240kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               1920, 1080, true /* isGoog */);
+    }
+
+    public void testVP93840x2160Other() throws Exception {
         decode(VIDEO_VP9,
                R.raw.video_3840x2160_webm_vp9_20480kbps_30fps_vorbis_stereo_128kbps_48000hz,
-               3840, 2160);
+               3840, 2160, false /* isGoog */);
     }
 
-    public void testHEVC352x288() throws Exception {
+    public void testVP93840x2160Goog() throws Exception {
+        decode(VIDEO_VP9,
+               R.raw.video_3840x2160_webm_vp9_20480kbps_30fps_vorbis_stereo_128kbps_48000hz,
+               3840, 2160, true /* isGoog */);
+    }
+
+    public void testHEVC0352x0288Other() throws Exception {
         decode(VIDEO_HEVC,
                R.raw.video_352x288_mp4_hevc_600kbps_30fps_aac_stereo_128kbps_44100hz,
-               352, 288);
+               352, 288, false /* isGoog */);
     }
 
-    public void testHEVC720x480() throws Exception {
+    public void testHEVC0352x0288Goog() throws Exception {
+        decode(VIDEO_HEVC,
+               R.raw.video_352x288_mp4_hevc_600kbps_30fps_aac_stereo_128kbps_44100hz,
+               352, 288, true /* isGoog */);
+    }
+
+    public void testHEVC0720x0480Other() throws Exception {
         decode(VIDEO_HEVC,
                R.raw.video_720x480_mp4_hevc_1638kbps_30fps_aac_stereo_128kbps_44100hz,
-               720, 480);
+               720, 480, false /* isGoog */);
     }
 
-    public void testHEVC1280x720() throws Exception {
+    public void testHEVC0720x0480Goog() throws Exception {
+        decode(VIDEO_HEVC,
+               R.raw.video_720x480_mp4_hevc_1638kbps_30fps_aac_stereo_128kbps_44100hz,
+               720, 480, true /* isGoog */);
+    }
+
+    public void testHEVC1280x0720Other() throws Exception {
         decode(VIDEO_HEVC,
                R.raw.video_1280x720_mp4_hevc_4096kbps_30fps_aac_stereo_128kbps_44100hz,
-               1280, 720);
+               1280, 720, false /* isGoog */);
     }
 
-    public void testHEVC1920x1080() throws Exception {
+    public void testHEVC1280x0720Goog() throws Exception {
+        decode(VIDEO_HEVC,
+               R.raw.video_1280x720_mp4_hevc_4096kbps_30fps_aac_stereo_128kbps_44100hz,
+               1280, 720, true /* isGoog */);
+    }
+
+    public void testHEVC1920x1080Other() throws Exception {
         decode(VIDEO_HEVC,
                R.raw.video_1920x1080_mp4_hevc_10240kbps_30fps_aac_stereo_128kbps_44100hz,
-               1920, 1080);
+               1920, 1080, false /* isGoog */);
     }
 
-    public void testHEVC3840x2160() throws Exception {
+    public void testHEVC1920x1080Goog() throws Exception {
+        decode(VIDEO_HEVC,
+               R.raw.video_1920x1080_mp4_hevc_10240kbps_30fps_aac_stereo_128kbps_44100hz,
+               1920, 1080, true /* isGoog */);
+    }
+
+    public void testHEVC3840x2160Other() throws Exception {
         decode(VIDEO_HEVC,
                R.raw.video_3840x2160_mp4_hevc_20480kbps_30fps_aac_stereo_128kbps_44100hz,
-               3840, 2160);
+               3840, 2160, false /* isGoog */);
     }
 
-    public void testH263176x144() throws Exception {
+    public void testHEVC3840x2160Goog() throws Exception {
         decode(VIDEO_HEVC,
+               R.raw.video_3840x2160_mp4_hevc_20480kbps_30fps_aac_stereo_128kbps_44100hz,
+               3840, 2160, true /* isGoog */);
+    }
+
+    public void testH2630176x0144Other() throws Exception {
+        decode(VIDEO_H263,
                R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
-               176, 144);
+               176, 144, false /* isGoog */);
     }
 
-    public void testH263352x288() throws Exception {
-        decode(VIDEO_HEVC,
+    public void testH2630176x0144Goog() throws Exception {
+        decode(VIDEO_H263,
+               R.raw.video_176x144_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
+               176, 144, true /* isGoog */);
+    }
+
+    public void testH2630352x0288Other() throws Exception {
+        decode(VIDEO_H263,
                R.raw.video_352x288_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
-               352, 288);
+               352, 288, false /* isGoog */);
     }
 
-    public void testMPEG4480x360() throws Exception {
+    public void testH2630352x0288Goog() throws Exception {
+        decode(VIDEO_H263,
+               R.raw.video_352x288_3gp_h263_300kbps_12fps_aac_stereo_128kbps_22050hz,
+               352, 288, true /* isGoog */);
+    }
+
+    public void testMPEG40480x0360Other() throws Exception {
         decode(VIDEO_MPEG4,
                R.raw.video_480x360_mp4_mpeg4_860kbps_25fps_aac_stereo_128kbps_44100hz,
-               480, 360);
+               480, 360, false /* isGoog */);
     }
 
-    public void testMPEG41280x720() throws Exception {
+    public void testMPEG40480x0360Goog() throws Exception {
+        decode(VIDEO_MPEG4,
+               R.raw.video_480x360_mp4_mpeg4_860kbps_25fps_aac_stereo_128kbps_44100hz,
+               480, 360, true /* isGoog */);
+    }
+
+    public void testMPEG41280x0720Other() throws Exception {
         decode(VIDEO_MPEG4,
                R.raw.video_1280x720_mp4_mpeg4_1000kbps_25fps_aac_stereo_128kbps_44100hz,
-               1280, 720);
+               1280, 720, false /* isGoog */);
+    }
+
+    public void testMPEG41280x0720Goog() throws Exception {
+        decode(VIDEO_MPEG4,
+               R.raw.video_1280x720_mp4_mpeg4_1000kbps_25fps_aac_stereo_128kbps_44100hz,
+               1280, 720, true /* isGoog */);
     }
 }
 
diff --git a/tests/tests/media/src/android/media/cts/VideoEncoderTest.java b/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
index 858e47c..e3d2f09 100644
--- a/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
+++ b/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
@@ -53,6 +53,8 @@
     private static final int MAX_SAMPLE_SIZE = 256 * 1024;
     private static final String TAG = "VideoEncoderTest";
     private static final long FRAME_TIMEOUT_MS = 1000;
+    // use larger delay before we get first frame, some encoders may need more time
+    private static final long INIT_TIMEOUT_MS = 2000;
 
     private static final String SOURCE_URL =
         "android.resource://com.android.cts.media/raw/video_480x360_mp4_h264_871kbps_30fps";
@@ -172,6 +174,7 @@
         private boolean mSignaledDecoderEOS;
 
         protected boolean mCompleted;
+        protected boolean mEncodeOutputFormatUpdated;
         protected final Object mCondition = new Object();
 
         protected MediaFormat mDecFormat;
@@ -382,7 +385,8 @@
                             // wait for an encoder input buffer and a decoder output buffer
                             // Use a timeout to avoid stalling the test if it doesn't arrive.
                             if (!haveBuffers() && !mCompleted) {
-                                mCondition.wait(FRAME_TIMEOUT_MS);
+                                mCondition.wait(mEncodeOutputFormatUpdated ?
+                                        FRAME_TIMEOUT_MS : INIT_TIMEOUT_MS);
                             }
                         } catch (InterruptedException ie) {
                             fail("wait interrupted");  // shouldn't happen
@@ -494,7 +498,7 @@
             if (mEncInputBufferSize < 0) {
                 mEncInputBufferSize = mEncoder.getInputBuffer(encBuffer).capacity();
             }
-            Log.d(TAG, "queuing output #" + encBuffer + " for encoder (sz="
+            Log.d(TAG, "queuing input #" + encBuffer + " for encoder (sz="
                     + mEncInputBufferSize + ", f=" + decBuffer.second.flags
                     + ", ts=" + decBuffer.second.presentationTimeUs + ")");
             mEncoder.queueInputBuffer(
@@ -515,6 +519,7 @@
         public void onOutputFormatChanged(MediaCodec mediaCodec, MediaFormat mediaFormat) {
             Log.i(TAG, mediaCodec.getName() + " got new output format " + mediaFormat);
             if (mediaCodec == mEncoder) {
+                mEncodeOutputFormatUpdated = true;
                 saveEncoderFormat(mediaFormat);
             }
         }
@@ -596,7 +601,8 @@
                             // wait for mFrameAvailable, which is set by onFrameAvailable().
                             // Use a timeout to avoid stalling the test if it doesn't arrive.
                             if (!mFrameAvailable && !mCompleted && !mEncoderIsActive) {
-                                mCondition.wait(FRAME_TIMEOUT_MS);
+                                mCondition.wait(mEncodeOutputFormatUpdated ?
+                                        FRAME_TIMEOUT_MS : INIT_TIMEOUT_MS);
                             }
                         } catch (InterruptedException ie) {
                             fail("wait interrupted");  // shouldn't happen
@@ -746,6 +752,7 @@
         public void onOutputFormatChanged(MediaCodec mediaCodec, MediaFormat mediaFormat) {
             Log.i(TAG, mediaCodec.getName() + " got new output format " + mediaFormat);
             if (mediaCodec == mEncoder) {
+                mEncodeOutputFormatUpdated = true;
                 saveEncoderFormat(mediaFormat);
             }
         }
diff --git a/tests/tests/mediastress/src/android/mediastress/cts/MediaRecorderStressTest.java b/tests/tests/mediastress/src/android/mediastress/cts/MediaRecorderStressTest.java
index 0b76185..17b79d0 100644
--- a/tests/tests/mediastress/src/android/mediastress/cts/MediaRecorderStressTest.java
+++ b/tests/tests/mediastress/src/android/mediastress/cts/MediaRecorderStressTest.java
@@ -32,12 +32,13 @@
 import java.io.File;
 import java.io.FileWriter;
 import java.io.Writer;
+import java.util.List;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 
 public class MediaRecorderStressTest extends ActivityInstrumentationTestCase2<MediaFrameworkTest> {
 
-    private static String TAG = "MediaRecorderStressTest";
+    private static final String TAG = "MediaRecorderStressTest";
     private static final int NUMBER_OF_CAMERA_STRESS_LOOPS = 50;
     private static final int NUMBER_OF_RECORDER_STRESS_LOOPS = 50;
     private static final int NUMBER_OF_RECORDERANDPLAY_STRESS_LOOPS = 25;
@@ -50,6 +51,8 @@
     private final CameraErrorCallback mCameraErrorCallback = new CameraErrorCallback();
     private final RecorderErrorCallback mRecorderErrorCallback = new RecorderErrorCallback();
     private final static int WAIT_TIMEOUT = 10000;
+    private static final int VIDEO_WIDTH = 176;
+    private static final int VIDEO_HEIGHT = 144;
 
     private MediaRecorder mRecorder;
     private Camera mCamera;
@@ -215,11 +218,35 @@
         mSurfaceHolder = MediaFrameworkTest.getSurfaceView().getHolder();
         File stressOutFile = new File(WorkDir.getTopDir(), MEDIA_STRESS_OUTPUT);
         Writer output = new BufferedWriter(new FileWriter(stressOutFile, true));
+        int width;
+        int height;
+        Camera camera = null;
 
         if (!mHasRearCamera && !mHasFrontCamera) {
                 output.write("No camera found. Skipping recorder stress test\n");
                 return;
         }
+        // Try to get camera smallest supported resolution.
+        // If we fail for any reason, set the video size to default value.
+        try {
+            camera = Camera.open(0);
+            List<Camera.Size> previewSizes = camera.getParameters().getSupportedPreviewSizes();
+            width = previewSizes.get(0).width;
+            height = previewSizes.get(0).height;
+            for (Camera.Size size : previewSizes) {
+                if (size.width < width || size.height < height) {
+                    width = size.width;
+                    height = size.height;
+                }
+            }
+        } catch (Exception e) {
+            width = VIDEO_WIDTH;
+            height = VIDEO_HEIGHT;
+        }
+        if (camera != null) {
+            camera.release();
+        }
+        Log.v(TAG, String.format("Camera video size used for test %dx%d", width, height));
         output.write("H263 video record- reset after prepare Stress test\n");
         output.write("Total number of loops:" +
                 NUMBER_OF_RECORDER_STRESS_LOOPS + "\n");
@@ -241,7 +268,7 @@
             mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
             mRecorder.setOutputFile(filename);
             mRecorder.setVideoFrameRate(mFrameRate);
-            mRecorder.setVideoSize(176,144);
+            mRecorder.setVideoSize(width, height);
             Log.v(TAG, "setEncoder");
             mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
             mSurfaceHolder = MediaFrameworkTest.getSurfaceView().getHolder();
@@ -268,6 +295,8 @@
         }
 
         String filename;
+        int width;
+        int height;
         SurfaceHolder mSurfaceHolder;
         mSurfaceHolder = MediaFrameworkTest.getSurfaceView().getHolder();
         File stressOutFile = new File(WorkDir.getTopDir(), MEDIA_STRESS_OUTPUT);
@@ -294,6 +323,19 @@
             if (mCamera == null) {
                 break;
             }
+            // Try to get camera smallest supported resolution.
+            // If we fail for any reason, set the video size to default value.
+            List<Camera.Size> previewSizes = mCamera.getParameters().getSupportedPreviewSizes();
+            width = previewSizes.get(0).width;
+            height = previewSizes.get(0).height;
+            for (Camera.Size size : previewSizes) {
+                if (size.width < width || size.height < height) {
+                    width = size.width;
+                    height = size.height;
+                }
+            }
+            Log.v(TAG, String.format("Camera video size used for test %dx%d", width, height));
+
             mCamera.setErrorCallback(mCameraErrorCallback);
             mCamera.setPreviewDisplay(mSurfaceHolder);
             mCamera.startPreview();
@@ -315,7 +357,7 @@
             mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
             mRecorder.setOutputFile(filename);
             mRecorder.setVideoFrameRate(mFrameRate);
-            mRecorder.setVideoSize(176,144);
+            mRecorder.setVideoSize(width, height);
             Log.v(TAG, "Media recorder setEncoder");
             mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
             Log.v(TAG, "mediaRecorder setPreview");
diff --git a/tests/tests/net/AndroidManifest.xml b/tests/tests/net/AndroidManifest.xml
index bca2d2c..001e294 100644
--- a/tests/tests/net/AndroidManifest.xml
+++ b/tests/tests/net/AndroidManifest.xml
@@ -20,6 +20,7 @@
 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
diff --git a/tests/tests/net/jni/NativeMultinetworkJni.c b/tests/tests/net/jni/NativeMultinetworkJni.c
index 9a5ab9c..4da0c1c4 100644
--- a/tests/tests/net/jni/NativeMultinetworkJni.c
+++ b/tests/tests/net/jni/NativeMultinetworkJni.c
@@ -122,9 +122,7 @@
     struct addrinfo *res = NULL;
     net_handle_t handle = (net_handle_t) nethandle;
 
-    // Quoth Ian Swett:
-    //     "QUIC always uses 80 and 443, but only 443 is used for secure(HTTPS) traffic."
-    int rval = android_getaddrinfofornetwork(handle, kHostname, "80", &kHints, &res);
+    int rval = android_getaddrinfofornetwork(handle, kHostname, "443", &kHints, &res);
     if (rval != 0) {
         ALOGD("android_getaddrinfofornetwork(%llu, %s) returned rval=%d errno=%d",
               handle, kHostname, rval, errno);
diff --git a/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
index 15d368f..88dbd7c 100644
--- a/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/tests/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -16,19 +16,24 @@
 
 package android.net.cts;
 
+import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.net.ConnectivityManager;
+import android.net.Network;
+import android.net.NetworkCapabilities;
 import android.net.NetworkConfig;
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 import android.net.NetworkInfo.State;
+import android.net.NetworkRequest;
 import android.net.wifi.WifiManager;
 import android.test.AndroidTestCase;
 import android.util.Log;
+import android.os.SystemProperties;
 
 import com.android.internal.telephony.PhoneConstants;
 
@@ -50,6 +55,10 @@
     public static final int TYPE_WIFI = ConnectivityManager.TYPE_WIFI;
     private static final int HOST_ADDRESS = 0x7f000001;// represent ip 127.0.0.1
 
+    // Action sent to ConnectivityActionReceiver when a network callback is sent via PendingIntent.
+    private static final String NETWORK_CALLBACK_ACTION =
+            "ConnectivityManagerTest.NetworkCallbackAction";
+
     // device could have only one interface: data, wifi.
     private static final int MIN_NUM_NETWORK_TYPES = 1;
 
@@ -58,7 +67,6 @@
     private PackageManager mPackageManager;
     private final HashMap<Integer, NetworkConfig> mNetworks =
             new HashMap<Integer, NetworkConfig>();
-    private final List<Integer>mProtectedNetworks = new ArrayList<Integer>();
 
     @Override
     protected void setUp() throws Exception {
@@ -70,20 +78,17 @@
         // Get com.android.internal.R.array.networkAttributes
         int resId = getContext().getResources().getIdentifier("networkAttributes", "array", "android");
         String[] naStrings = getContext().getResources().getStringArray(resId);
-
+        //TODO: What is the "correct" way to determine if this is a wifi only device?
+        boolean wifiOnly = SystemProperties.getBoolean("ro.radio.noril", false);
         for (String naString : naStrings) {
             try {
                 NetworkConfig n = new NetworkConfig(naString);
+                if (wifiOnly && ConnectivityManager.isNetworkTypeMobile(n.type)) {
+                    continue;
+                }
                 mNetworks.put(n.type, n);
             } catch (Exception e) {}
         }
-
-        // Get com.android.internal.R.array.config_protectedNetworks
-        resId = getContext().getResources().getIdentifier("config_protectedNetworks", "array", "android");
-        int[] protectedNetworks = getContext().getResources().getIntArray(resId);
-        for (int p : protectedNetworks) {
-            mProtectedNetworks.add(p);
-        }
     }
 
     public void testIsNetworkTypeValid() {
@@ -124,7 +129,19 @@
     public void testGetActiveNetworkInfo() {
         NetworkInfo ni = mCm.getActiveNetworkInfo();
 
-        assertTrue("You must have an active network connection to complete CTS", ni != null);
+        assertNotNull("You must have an active network connection to complete CTS", ni);
+        assertTrue(ConnectivityManager.isNetworkTypeValid(ni.getType()));
+        assertTrue(ni.getState() == State.CONNECTED);
+    }
+
+    public void testGetActiveNetwork() {
+        Network network = mCm.getActiveNetwork();
+        assertNotNull("You must have an active network connection to complete CTS", network);
+
+        NetworkInfo ni = mCm.getNetworkInfo(network);
+        assertNotNull("Network returned from getActiveNetwork was invalid", ni);
+
+        // Similar to testGetActiveNetworkInfo above.
         assertTrue(ConnectivityManager.isNetworkTypeValid(ni.getType()));
         assertTrue(ni.getState() == State.CONNECTED);
     }
@@ -165,6 +182,27 @@
         }
     }
 
+    private void assertStartUsingNetworkFeatureUnsupported(int networkType, String feature) {
+        try {
+            mCm.startUsingNetworkFeature(networkType, feature);
+            fail("startUsingNetworkFeature is no longer supported in the current API version");
+        } catch (UnsupportedOperationException expected) {}
+    }
+
+    private void assertStopUsingNetworkFeatureUnsupported(int networkType, String feature) {
+        try {
+            mCm.startUsingNetworkFeature(networkType, feature);
+            fail("stopUsingNetworkFeature is no longer supported in the current API version");
+        } catch (UnsupportedOperationException expected) {}
+    }
+
+    private void assertRequestRouteToHostUnsupported(int networkType, int hostAddress) {
+        try {
+            mCm.requestRouteToHost(networkType, hostAddress);
+            fail("requestRouteToHost is no longer supported in the current API version");
+        } catch (UnsupportedOperationException expected) {}
+    }
+
     public void testStartUsingNetworkFeature() {
 
         final String invalidateFeature = "invalidateFeature";
@@ -173,27 +211,9 @@
         final int wifiOnlyStartFailureCode = PhoneConstants.APN_REQUEST_FAILED;
         final int wifiOnlyStopFailureCode = -1;
 
-        NetworkInfo ni = mCm.getNetworkInfo(TYPE_MOBILE);
-        if (ni != null) {
-            assertEquals(PhoneConstants.APN_REQUEST_FAILED,
-                    mCm.startUsingNetworkFeature(TYPE_MOBILE, invalidateFeature));
-            assertEquals(failureCode, mCm.stopUsingNetworkFeature(TYPE_MOBILE,
-                    invalidateFeature));
-        } else {
-            assertEquals(wifiOnlyStartFailureCode, mCm.startUsingNetworkFeature(TYPE_MOBILE,
-                    invalidateFeature));
-            assertEquals(wifiOnlyStopFailureCode, mCm.stopUsingNetworkFeature(TYPE_MOBILE,
-                    invalidateFeature));
-        }
-
-        ni = mCm.getNetworkInfo(TYPE_WIFI);
-        if (ni != null) {
-            // Should return failure because MMS is not supported on WIFI.
-            assertEquals(PhoneConstants.APN_REQUEST_FAILED, mCm.startUsingNetworkFeature(TYPE_WIFI,
-                    mmsFeature));
-            assertEquals(failureCode, mCm.stopUsingNetworkFeature(TYPE_WIFI,
-                    mmsFeature));
-        }
+        assertStartUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature);
+        assertStopUsingNetworkFeatureUnsupported(TYPE_MOBILE, invalidateFeature);
+        assertStartUsingNetworkFeatureUnsupported(TYPE_WIFI, mmsFeature);
     }
 
     private boolean isSupported(int networkType) {
@@ -204,11 +224,6 @@
                (networkType == ConnectivityManager.TYPE_VPN);
     }
 
-    // true if only the system can turn it on
-    private boolean isNetworkProtected(int networkType) {
-        return mProtectedNetworks.contains(networkType);
-    }
-
     public void testIsNetworkSupported() {
         for (int type = -1; type <= ConnectivityManager.MAX_NETWORK_TYPE; type++) {
             boolean supported = mCm.isNetworkSupported(type);
@@ -222,120 +237,234 @@
 
     public void testRequestRouteToHost() {
         for (int type = -1 ; type <= ConnectivityManager.MAX_NETWORK_TYPE; type++) {
-            NetworkInfo ni = mCm.getNetworkInfo(type);
-            boolean expectToWork = isSupported(type) && !isNetworkProtected(type) &&
-                    ni != null && ni.isConnected();
-
-            try {
-                assertTrue("Network type " + type,
-                        mCm.requestRouteToHost(type, HOST_ADDRESS) == expectToWork);
-            } catch (Exception e) {
-                Log.d(TAG, "got exception in requestRouteToHost for type " + type);
-                assertFalse("Exception received for type " + type, expectToWork);
-            }
-
-            //TODO verify route table
+            assertRequestRouteToHostUnsupported(type, HOST_ADDRESS);
         }
-
-        assertFalse(mCm.requestRouteToHost(-1, HOST_ADDRESS));
     }
 
     public void testTest() {
         mCm.getBackgroundDataSetting();
     }
 
-    /** Test that hipri can be brought up when Wifi is enabled. */
-    public void testStartUsingNetworkFeature_enableHipri() throws Exception {
-        if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
-                || !mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
-            // This test requires a mobile data connection and WiFi.
+    /**
+     * Exercises both registerNetworkCallback and unregisterNetworkCallback. This checks to
+     * see if we get a callback for the TRANSPORT_WIFI transport type being available.
+     *
+     * <p>In order to test that a NetworkCallback occurs, we need some change in the network
+     * state (either a transport or capability is now available). The most straightforward is
+     * WiFi. We could add a version that uses the telephony data connection but it's not clear
+     * that it would increase test coverage by much (how many devices have 3G radio but not Wifi?).
+     */
+    public void testRegisterNetworkCallback() {
+        if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+            Log.i(TAG, "testRegisterNetworkCallback cannot execute unless device supports WiFi");
             return;
         }
 
-        boolean isWifiEnabled = mWifiManager.isWifiEnabled();
-        boolean isWifiConnected = false;
+        // We will register for a WIFI network being available or lost.
+        NetworkRequest request = new NetworkRequest.Builder()
+                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+                .build();
+        TestNetworkCallback callback = new TestNetworkCallback();
+        mCm.registerNetworkCallback(request, callback);
 
-        NetworkInfo nwInfo = mCm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
-        if (nwInfo != null) {
-            isWifiConnected = nwInfo.isConnected();
-        }
+        boolean previousWifiEnabledState = mWifiManager.isWifiEnabled();
+
         try {
-            // Make sure WiFi is connected to an access point.
-            if (!isWifiConnected) {
+            // Make sure WiFi is connected to an access point to start with.
+            if (!previousWifiEnabledState) {
                 connectToWifi();
             }
 
-            // Register a receiver that will capture the connectivity change for hipri.
-            ConnectivityActionReceiver receiver =
-                    new ConnectivityActionReceiver(ConnectivityManager.TYPE_MOBILE_HIPRI);
-            IntentFilter filter = new IntentFilter();
-            filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
-            mContext.registerReceiver(receiver, filter);
-
-            // Try to start using the hipri feature...
-            int result = mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
-                    FEATURE_ENABLE_HIPRI);
-            assertTrue("Couldn't start using the HIPRI feature.", result != -1);
-
-            // Check that the ConnectivityManager reported that it connected using hipri...
-            assertTrue("Couldn't connect using hipri...", receiver.waitForConnection());
-
-            assertTrue("Couldn't requestRouteToHost using HIPRI.",
-                    mCm.requestRouteToHost(ConnectivityManager.TYPE_MOBILE_HIPRI, HOST_ADDRESS));
-            // TODO check dns selection
-            // TODO check routes
+            // Now we should expect to get a network callback about availability of the wifi
+            // network even if it was already connected as a state-based action when the callback
+            // is registered.
+            assertTrue("Did not receive NetworkCallback.onAvailable for TRANSPORT_WIFI",
+                    callback.waitForAvailable());
         } catch (InterruptedException e) {
-            fail("Broadcast receiver waiting for ConnectivityManager interrupted.");
+            fail("Broadcast receiver or NetworkCallback wait was interrupted.");
         } finally {
-            mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_MOBILE,
-                    FEATURE_ENABLE_HIPRI);
-            // TODO wait for HIPRI to go
-            // TODO check dns selection
-            // TODO check routes
-            if (!isWifiEnabled) {
-                mWifiManager.setWifiEnabled(false);
+            mCm.unregisterNetworkCallback(callback);
+
+            // Return WiFI to its original enabled/disabled state.
+            if (!previousWifiEnabledState) {
+                disconnectFromWifi();
             }
         }
     }
 
-    private void connectToWifi() throws InterruptedException {
-        ConnectivityActionReceiver receiver =
-                new ConnectivityActionReceiver(ConnectivityManager.TYPE_WIFI);
+    /**
+     * Tests both registerNetworkCallback and unregisterNetworkCallback similarly to
+     * {@link #testRegisterNetworkCallback} except that a {@code PendingIntent} is used instead
+     * of a {@code NetworkCallback}.
+     */
+    public void testRegisterNetworkCallback_withPendingIntent() {
+        if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+            Log.i(TAG, "testRegisterNetworkCallback cannot execute unless device supports WiFi");
+            return;
+        }
+
+        // Create a ConnectivityActionReceiver that has an IntentFilter for our locally defined
+        // action, NETWORK_CALLBACK_ACTION.
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(NETWORK_CALLBACK_ACTION);
+
+        ConnectivityActionReceiver receiver = new ConnectivityActionReceiver(
+                ConnectivityManager.TYPE_WIFI, NetworkInfo.State.CONNECTED);
+        mContext.registerReceiver(receiver, filter);
+
+        // Create a broadcast PendingIntent for NETWORK_CALLBACK_ACTION.
+        Intent intent = new Intent(NETWORK_CALLBACK_ACTION);
+        PendingIntent pendingIntent = PendingIntent.getBroadcast(
+                mContext, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
+
+        // We will register for a WIFI network being available or lost.
+        NetworkRequest request = new NetworkRequest.Builder()
+                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
+                .build();
+        mCm.registerNetworkCallback(request, pendingIntent);
+
+        boolean previousWifiEnabledState = mWifiManager.isWifiEnabled();
+
+        try {
+            // Make sure WiFi is connected to an access point to start with.
+            if (!previousWifiEnabledState) {
+                connectToWifi();
+            }
+
+            // Now we expect to get the Intent delivered notifying of the availability of the wifi
+            // network even if it was already connected as a state-based action when the callback
+            // is registered.
+            assertTrue("Did not receive expected Intent " + intent + " for TRANSPORT_WIFI",
+                    receiver.waitForState());
+        } catch (InterruptedException e) {
+            fail("Broadcast receiver or NetworkCallback wait was interrupted.");
+        } finally {
+            mCm.unregisterNetworkCallback(pendingIntent);
+            pendingIntent.cancel();
+            mContext.unregisterReceiver(receiver);
+
+            // Return WiFI to its original enabled/disabled state.
+            if (!previousWifiEnabledState) {
+                disconnectFromWifi();
+            }
+        }
+    }
+
+    /** Enable WiFi and wait for it to become connected to a network. */
+    private void connectToWifi() {
+        ConnectivityActionReceiver receiver = new ConnectivityActionReceiver(
+                ConnectivityManager.TYPE_WIFI, NetworkInfo.State.CONNECTED);
         IntentFilter filter = new IntentFilter();
         filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
         mContext.registerReceiver(receiver, filter);
 
-        assertTrue(mWifiManager.setWifiEnabled(true));
-        assertTrue("Wifi must be configured to connect to an access point for this test.",
-                receiver.waitForConnection());
+        boolean connected = false;
+        try {
+            assertTrue(mWifiManager.setWifiEnabled(true));
+            connected = receiver.waitForState();
+        } catch (InterruptedException ex) {
+            fail("connectToWifi was interrupted");
+        } finally {
+            mContext.unregisterReceiver(receiver);
+        }
 
-        mContext.unregisterReceiver(receiver);
+        assertTrue("Wifi must be configured to connect to an access point for this test.",
+                connected);
     }
 
-    /** Receiver that captures the last connectivity change's network type and state. */
+    /** Disable WiFi and wait for it to become disconnected from the network. */
+    private void disconnectFromWifi() {
+        ConnectivityActionReceiver receiver = new ConnectivityActionReceiver(
+                ConnectivityManager.TYPE_WIFI, NetworkInfo.State.DISCONNECTED);
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+        mContext.registerReceiver(receiver, filter);
+
+        boolean disconnected = false;
+        try {
+            assertTrue(mWifiManager.setWifiEnabled(false));
+            disconnected = receiver.waitForState();
+        } catch (InterruptedException ex) {
+            fail("disconnectFromWifi was interrupted");
+        } finally {
+            mContext.unregisterReceiver(receiver);
+        }
+
+        assertTrue("Wifi failed to reach DISCONNECTED state.", disconnected);
+    }
+
+    /**
+     * Receiver that captures the last connectivity change's network type and state. Recognizes
+     * both {@code CONNECTIVITY_ACTION} and {@code NETWORK_CALLBACK_ACTION} intents.
+     */
     private class ConnectivityActionReceiver extends BroadcastReceiver {
 
         private final CountDownLatch mReceiveLatch = new CountDownLatch(1);
 
         private final int mNetworkType;
+        private final NetworkInfo.State mNetState;
 
-        ConnectivityActionReceiver(int networkType) {
+        ConnectivityActionReceiver(int networkType, NetworkInfo.State netState) {
             mNetworkType = networkType;
+            mNetState = netState;
         }
 
         public void onReceive(Context context, Intent intent) {
-            NetworkInfo networkInfo = intent.getExtras()
-                    .getParcelable(ConnectivityManager.EXTRA_NETWORK_INFO);
+            String action = intent.getAction();
+            NetworkInfo networkInfo = null;
+
+            // When receiving ConnectivityManager.CONNECTIVITY_ACTION, the NetworkInfo parcelable
+            // is stored in EXTRA_NETWORK_INFO. With a NETWORK_CALLBACK_ACTION, the Network is
+            // sent in EXTRA_NETWORK and we need to ask the ConnectivityManager for the NetworkInfo.
+            if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {
+                networkInfo = intent.getExtras()
+                        .getParcelable(ConnectivityManager.EXTRA_NETWORK_INFO);
+                assertNotNull("ConnectivityActionReceiver expected EXTRA_NETWORK_INFO", networkInfo);
+            } else if (NETWORK_CALLBACK_ACTION.equals(action)) {
+                Network network = intent.getExtras()
+                        .getParcelable(ConnectivityManager.EXTRA_NETWORK);
+                assertNotNull("ConnectivityActionReceiver expected EXTRA_NETWORK", network);
+                networkInfo = mCm.getNetworkInfo(network);
+                if (networkInfo == null) {
+                    // When disconnecting, it seems like we get an intent sent with an invalid
+                    // Network; that is, by the time we call ConnectivityManager.getNetworkInfo(),
+                    // it is invalid. Ignore these.
+                    Log.i(TAG, "ConnectivityActionReceiver NETWORK_CALLBACK_ACTION ignoring "
+                            + "invalid network");
+                    return;
+                }
+            } else {
+                fail("ConnectivityActionReceiver received unxpected intent action: " + action);
+            }
+
+            assertNotNull("ConnectivityActionReceiver didn't find NetworkInfo", networkInfo);
             int networkType = networkInfo.getType();
             State networkState = networkInfo.getState();
             Log.i(TAG, "Network type: " + networkType + " state: " + networkState);
-            if (networkType == mNetworkType && networkInfo.getState() == State.CONNECTED) {
+            if (networkType == mNetworkType && networkInfo.getState() == mNetState) {
                 mReceiveLatch.countDown();
             }
         }
 
-        public boolean waitForConnection() throws InterruptedException {
+        public boolean waitForState() throws InterruptedException {
             return mReceiveLatch.await(30, TimeUnit.SECONDS);
         }
     }
+
+    /**
+     * Callback used in testRegisterNetworkCallback that allows caller to block on
+     * {@code onAvailable}.
+     */
+    private static class TestNetworkCallback extends ConnectivityManager.NetworkCallback {
+        private final CountDownLatch mAvailableLatch = new CountDownLatch(1);
+
+        public boolean waitForAvailable() throws InterruptedException {
+            return mAvailableLatch.await(30, TimeUnit.SECONDS);
+        }
+
+        @Override
+        public void onAvailable(Network network) {
+            mAvailableLatch.countDown();
+        }
+    }
 }
diff --git a/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java b/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java
index 6c416ca..2cc5951 100644
--- a/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java
+++ b/tests/tests/net/src/android/net/wifi/cts/WifiEnterpriseConfigTest.java
@@ -94,7 +94,7 @@
         // Hotspot 2.0 related attributes
         config.setPlmn(PLMN);
         assertTrue(config.getPlmn().equals(PLMN));
-        config.setPlmn(REALM);
+        config.setRealm(REALM);
         assertTrue(config.getRealm().equals(REALM));
         config.setAltSubjectMatch(ALT_SUBJECT_MATCH);
         assertTrue(config.getAltSubjectMatch().equals(ALT_SUBJECT_MATCH));
diff --git a/tests/tests/netlegacy22/Android.mk b/tests/tests/netlegacy22/Android.mk
new file mode 100644
index 0000000..68fd6f8
--- /dev/null
+++ b/tests/tests/netlegacy22/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := tests
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsNetTestCasesLegacyApi22
+
+LOCAL_SDK_VERSION := 22
+
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner
+
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/netlegacy22/AndroidManifest.xml b/tests/tests/netlegacy22/AndroidManifest.xml
new file mode 100644
index 0000000..d243e45
--- /dev/null
+++ b/tests/tests/netlegacy22/AndroidManifest.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ * Copyright (C) 2007 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.cts.net.legacy22">
+
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+    <uses-permission android:name="android.permission.INTERNET" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="com.android.cts.net.legacy22"
+                     android:label="CTS tests of legacy android.net APIs as of API 22">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+
+</manifest>
+
diff --git a/tests/tests/netlegacy22/src/android/net/cts/legacy/api22/ConnectivityManagerLegacyTest.java b/tests/tests/netlegacy22/src/android/net/cts/legacy/api22/ConnectivityManagerLegacyTest.java
new file mode 100644
index 0000000..8a9002b
--- /dev/null
+++ b/tests/tests/netlegacy22/src/android/net/cts/legacy/api22/ConnectivityManagerLegacyTest.java
@@ -0,0 +1,259 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net.cts.legacy.api22;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.net.ConnectivityManager;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.Network;
+import android.net.NetworkInfo;
+import android.net.wifi.WifiManager;
+import android.os.ConditionVariable;
+import android.test.AndroidTestCase;
+import android.util.Log;
+
+import java.net.DatagramSocket;
+import java.net.Inet4Address;
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.List;
+
+import static android.net.ConnectivityManager.CONNECTIVITY_ACTION;
+import static android.net.ConnectivityManager.TYPE_MOBILE;
+import static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI;
+import static android.net.ConnectivityManager.TYPE_VPN;
+import static android.net.ConnectivityManager.TYPE_WIFI;
+
+public class ConnectivityManagerLegacyTest extends AndroidTestCase {
+    private static final String TAG = ConnectivityManagerLegacyTest.class.getSimpleName();
+    private static final String FEATURE_ENABLE_HIPRI = "enableHIPRI";
+    private static final String HOST_ADDRESS1 = "192.0.2.1";
+    private static final String HOST_ADDRESS2 = "192.0.2.2";
+    private static final String HOST_ADDRESS3 = "192.0.2.3";
+
+    // These are correct as of API level 22, which is what we target here.
+    private static final int APN_REQUEST_FAILED = 3;
+    private static final int MAX_NETWORK_TYPE = TYPE_VPN;
+
+    private ConnectivityManager mCm;
+    private WifiManager mWifiManager;
+    private PackageManager mPackageManager;
+
+    private final List<Integer>mProtectedNetworks = new ArrayList<Integer>();
+
+    protected void setUp() throws Exception {
+        super.setUp();
+        mCm = (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
+        mWifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
+        mPackageManager = getContext().getPackageManager();
+
+        // Get com.android.internal.R.array.config_protectedNetworks
+        int resId = getContext().getResources().getIdentifier("config_protectedNetworks", "array", "android");
+        int[] protectedNetworks = getContext().getResources().getIntArray(resId);
+        for (int p : protectedNetworks) {
+            mProtectedNetworks.add(p);
+        }
+    }
+
+    // true if only the system can turn it on
+    private boolean isNetworkProtected(int networkType) {
+        return mProtectedNetworks.contains(networkType);
+    }
+
+    private int ipv4AddrToInt(String addrString) throws Exception {
+        byte[] addr = ((Inet4Address) InetAddress.getByName(addrString)).getAddress();
+        return ((addr[3] & 0xff) << 24) | ((addr[2] & 0xff) << 16) |
+                ((addr[1] & 0xff) << 8) | (addr[0] & 0xff);
+    }
+
+    private void checkSourceAddress(String addrString, int type) throws Exception {
+        DatagramSocket d = new DatagramSocket();
+        d.connect(InetAddress.getByName(addrString), 7);
+        InetAddress localAddress = d.getLocalAddress();
+
+        Network[] networks = mCm.getAllNetworks();
+        for (int i = 0; i < networks.length; i++) {
+            NetworkInfo ni = mCm.getNetworkInfo(networks[i]);
+            if (ni != null && ni.getType() == type) {
+                LinkProperties lp = mCm.getLinkProperties(networks[i]);
+                for (LinkAddress address : lp.getLinkAddresses()) {
+                    if (address.getAddress().equals(localAddress)) {
+                        return;
+                    }
+                }
+            }
+        }
+        fail("Local address " + localAddress + " not assigned to any network of type " + type);
+    }
+
+    /** Test that hipri can be brought up when Wifi is enabled. */
+    public void testStartUsingNetworkFeature_enableHipri() throws Exception {
+        if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)
+                || !mPackageManager.hasSystemFeature(PackageManager.FEATURE_WIFI)) {
+            // This test requires a mobile data connection and WiFi.
+            return;
+        }
+
+        // Make sure WiFi is connected to an access point.
+        connectToWifi();
+
+        expectNetworkBroadcast(TYPE_MOBILE_HIPRI, NetworkInfo.State.CONNECTED,
+                new Runnable() {
+                    public void run() {
+                        int ret = mCm.startUsingNetworkFeature(TYPE_MOBILE, FEATURE_ENABLE_HIPRI);
+                        assertTrue("Couldn't start using the HIPRI feature.", ret != -1);
+                    }
+                });
+
+        assertTrue("Couldn't requestRouteToHost using HIPRI.",
+                mCm.requestRouteToHost(TYPE_MOBILE_HIPRI, ipv4AddrToInt(HOST_ADDRESS1)));
+
+        try { Thread.sleep(1000); } catch(Exception e) {}
+        checkSourceAddress(HOST_ADDRESS1, TYPE_MOBILE);
+        checkSourceAddress(HOST_ADDRESS2, TYPE_WIFI);
+
+        // TODO check dns selection
+
+        expectNetworkBroadcast(TYPE_MOBILE_HIPRI, NetworkInfo.State.DISCONNECTED,
+                new Runnable() {
+                    public void run() {
+                        int ret = mCm.stopUsingNetworkFeature(TYPE_MOBILE, FEATURE_ENABLE_HIPRI);
+                        assertTrue("Couldn't stop using the HIPRI feature.", ret != -1);
+                    }
+                });
+
+
+        // TODO check dns selection
+        disconnectFromWifi();
+    }
+
+    public void testStartUsingNetworkFeature() {
+
+        final String invalidFeature = "invalidFeature";
+        final String mmsFeature = "enableMMS";
+        final int failureCode = -1;
+        final int wifiOnlyStartFailureCode = APN_REQUEST_FAILED;
+        final int wifiOnlyStopFailureCode = -1;
+
+        NetworkInfo ni = mCm.getNetworkInfo(TYPE_MOBILE);
+        if (ni != null) {
+            assertEquals(APN_REQUEST_FAILED,
+                    mCm.startUsingNetworkFeature(TYPE_MOBILE, invalidFeature));
+            assertEquals(failureCode, mCm.stopUsingNetworkFeature(TYPE_MOBILE, invalidFeature));
+        } else {
+            assertEquals(wifiOnlyStartFailureCode, mCm.startUsingNetworkFeature(TYPE_MOBILE,
+                    invalidFeature));
+            assertEquals(wifiOnlyStopFailureCode, mCm.stopUsingNetworkFeature(TYPE_MOBILE,
+                    invalidFeature));
+        }
+
+        ni = mCm.getNetworkInfo(TYPE_WIFI);
+        if (ni != null) {
+            // Should return failure because MMS is not supported on WIFI.
+            assertEquals(APN_REQUEST_FAILED, mCm.startUsingNetworkFeature(TYPE_WIFI,
+                    mmsFeature));
+            assertEquals(failureCode, mCm.stopUsingNetworkFeature(TYPE_WIFI,
+                    mmsFeature));
+        }
+    }
+
+    private void expectNetworkBroadcast(final int type, final NetworkInfo.State state,
+            Runnable afterWhat) {
+        final int TIMEOUT_MS = 30 * 1000;
+        final ConditionVariable var = new ConditionVariable();
+
+        Log.d(TAG, "Waiting for " + state + " broadcast for type " + type);
+        BroadcastReceiver receiver = new BroadcastReceiver() {
+            public void onReceive(Context context, Intent intent) {
+                NetworkInfo ni = intent.getExtras()
+                        .getParcelable(ConnectivityManager.EXTRA_NETWORK_INFO);
+                assertNotNull("CONNECTIVITY_ACTION with null EXTRA_NETWORK_INFO", ni);
+                if (ni.getType() == type && ni.getState().equals(state)) {
+                    Log.d(TAG, "Received expected " + state + " broadcast for type " + type);
+                    var.open();
+                }
+            }
+        };
+        IntentFilter filter = new IntentFilter();
+        filter.addAction(CONNECTIVITY_ACTION);
+        mContext.registerReceiver(receiver, filter);
+
+        try {
+            afterWhat.run();
+            final String msg = "Did not receive expected " + state + " broadcast for type " + type +
+                    " after " + TIMEOUT_MS + " ms";
+            assertTrue(msg, var.block(TIMEOUT_MS));
+        } finally {
+            mContext.unregisterReceiver(receiver);
+        }
+    }
+
+    private boolean isWifiConnected() {
+        NetworkInfo ni = mCm.getNetworkInfo(TYPE_WIFI);
+        return ni != null && ni.isConnected();
+    }
+
+    private void setWifiState(final boolean enabled) {
+        if (enabled != isWifiConnected()) {
+            final NetworkInfo.State desiredState = enabled ?
+                    NetworkInfo.State.CONNECTED :
+                    NetworkInfo.State.DISCONNECTED;
+            expectNetworkBroadcast(TYPE_WIFI, desiredState, new Runnable() {
+                public void run() {
+                    mWifiManager.setWifiEnabled(enabled);
+                }
+            });
+        }
+    }
+
+    private void connectToWifi() {
+        setWifiState(true);
+    }
+
+    private void disconnectFromWifi() {
+        setWifiState(false);
+    }
+
+    private boolean isNetworkSupported(int networkType) {
+        return mCm.getNetworkInfo(networkType) != null;
+    }
+
+    public void testRequestRouteToHost() throws Exception {
+        for (int type = -1 ; type <= MAX_NETWORK_TYPE; type++) {
+            NetworkInfo ni = mCm.getNetworkInfo(type);
+            boolean expectToWork = isNetworkSupported(type) && !isNetworkProtected(type) &&
+                    ni != null && ni.isConnected();
+
+            try {
+                assertTrue("Network type " + type,
+                        mCm.requestRouteToHost(type, ipv4AddrToInt(HOST_ADDRESS3)) == expectToWork);
+            } catch (Exception e) {
+                Log.d(TAG, "got exception in requestRouteToHost for type " + type);
+                assertFalse("Exception received for type " + type, expectToWork);
+            }
+
+            //TODO verify route table
+        }
+
+        assertFalse(mCm.requestRouteToHost(-1, ipv4AddrToInt(HOST_ADDRESS1)));
+    }
+}
diff --git a/tests/tests/os/jni/android_os_cts_SeccompTest.cpp b/tests/tests/os/jni/android_os_cts_SeccompTest.cpp
index 528696b..1ba8550 100644
--- a/tests/tests/os/jni/android_os_cts_SeccompTest.cpp
+++ b/tests/tests/os/jni/android_os_cts_SeccompTest.cpp
@@ -33,7 +33,7 @@
 struct __test_metadata* get_seccomp_test_list();
 }
 
-static const char TAG[] = "SecompBpfTest-Native";
+static const char TAG[] = "SeccompBpfTest-Native";
 
 jboolean android_security_cts_SeccompBpfTest_runKernelUnitTest(
       JNIEnv* env, jobject thiz __unused, jstring name) {
diff --git a/tests/tests/os/src/android/os/cts/SeccompTest.java b/tests/tests/os/src/android/os/cts/SeccompTest.java
index 0340580..7376079 100644
--- a/tests/tests/os/src/android/os/cts/SeccompTest.java
+++ b/tests/tests/os/src/android/os/cts/SeccompTest.java
@@ -50,6 +50,15 @@
         System.loadLibrary("ctsos_jni");
     }
 
+    // As this test validates a kernel system call interface, if the CTS tests
+    // were built for ARM but are running on an x86 CPU, the system call numbers
+    // will not be correct, so skip those tests.
+    private boolean isRunningUnderEmulatedAbi() {
+        final String primaryAbi = Build.SUPPORTED_ABIS[0];
+        return (CpuFeatures.isArmCpu() || CpuFeatures.isArm64Cpu()) &&
+               !(primaryAbi.equals("armeabi-v7a") || primaryAbi.equals("arm64-v8a"));
+    }
+
     public void testSeccomp() {
         if (OSFeatures.needsSeccompSupport()) {
             assertTrue("Please enable seccomp support "
@@ -62,6 +71,11 @@
         if (!OSFeatures.needsSeccompSupport())
             return;
 
+        if (isRunningUnderEmulatedAbi()) {
+            Log.d(TAG, "Skipping test running under an emulated ABI");
+            return;
+        }
+
         final String[] tests = {
             "global.mode_strict_support",
             "global.mode_strict_cannot_call_prctl",
@@ -137,6 +151,11 @@
         if (!OSFeatures.needsSeccompSupport())
             return;
 
+        if (isRunningUnderEmulatedAbi()) {
+            Log.d(TAG, "Skipping test running under an emulated ABI");
+            return;
+        }
+
         final String[] tests = {
             "global.seccomp_syscall",
             "global.seccomp_syscall_mode_lock",
@@ -175,6 +194,11 @@
         if (!OSFeatures.needsSeccompSupport())
             return;
 
+        if (isRunningUnderEmulatedAbi()) {
+            Log.d(TAG, "Skipping test running under an emulated ABI");
+            return;
+        }
+
         final IsolatedServiceConnection peer = new IsolatedServiceConnection();
         final Intent intent = new Intent(getContext(), IsolatedService.class);
         assertTrue(getContext().bindService(intent, peer, Context.BIND_AUTO_CREATE));
@@ -201,6 +225,11 @@
         if (!OSFeatures.needsSeccompSupport())
             return;
 
+        if (isRunningUnderEmulatedAbi()) {
+            Log.d(TAG, "Skipping test running under an emulated ABI");
+            return;
+        }
+
         final IsolatedServiceConnection peer = new IsolatedServiceConnection();
         final Intent intent = new Intent(getContext(), IsolatedService.class);
         assertTrue(getContext().bindService(intent, peer, Context.BIND_AUTO_CREATE));
diff --git a/tests/tests/permission/src/android/permission/cts/AccountManagerTest.java b/tests/tests/permission/src/android/permission/cts/AccountManagerTest.java
deleted file mode 100644
index 5d4378f..0000000
--- a/tests/tests/permission/src/android/permission/cts/AccountManagerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.permission.cts;
-
-import android.content.Context;
-import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.AccountManagerFuture;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
-
-/**
- * Verify GET_ACCOUNTS permissions are enforced.
- */
-public class AccountManagerTest extends AndroidTestCase {
-
-    private AccountManager mAccountManager;
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        mAccountManager = AccountManager.get(getContext());
-        assertNotNull(mAccountManager);
-    }
-
-    /**
-     * Verifies that AccountManager.getAccounts() requires Permission.
-     * <p>
-     * Requires Permission: {@link android.Manifest.permission#GET_ACCOUNTS}.
-     */
-    @SmallTest
-    public void testGetAccounts() {
-        try {
-            mAccountManager.getAccounts();
-            fail("AccountManager.getAccounts() did not throw SecurityException as expected");
-        } catch (SecurityException se) {
-            // Expected Exception
-        }
-    }
-
-    /**
-     * Verifies that AccountManager.getAccountsByType() requires Permission.
-     * <p>
-     * Requires Permission: {@link android.Manifest.permission#GET_ACCOUNTS}.
-     */
-    @SmallTest
-    public void testGetAccountsByType() {
-        try {
-            mAccountManager.getAccountsByType(null);
-            fail("AccountManager.getAccountsByType() did not throw SecurityException as expected");
-        } catch (SecurityException se) {
-            // Expected Exception
-        }
-    }
-
-    /**
-     * Verifies that AccountManager.getAccountsByTypeAndFeatures() requires
-     * Permission.
-     * <p>
-     * Requires Permission: {@link android.Manifest.permission#GET_ACCOUNTS}.
-     */
-    @SmallTest
-    public void testGetAccountsByTypeAndFeatures() {
-        try {
-            mAccountManager.getAccountsByTypeAndFeatures("", null, null, null);
-            fail("AccountManager.getAccountsByTypeAndFeatures() did not throw SecurityException as expected");
-        } catch (SecurityException se) {
-            // Expected Exception
-        }
-    }
-}
diff --git a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
index 5ec3c45..7b4adb0 100644
--- a/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/FileSystemPermissionTest.java
@@ -19,6 +19,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.os.Environment;
+import android.os.SystemProperties;
 import android.system.Os;
 import android.system.OsConstants;
 import android.system.StructStatVfs;
@@ -360,6 +361,19 @@
 
     @MediumTest
     public void testDeviceTreeCpuCurrent() throws Exception {
+        String arch = System.getProperty("os.arch");
+        String flavor = SystemProperties.get("ro.build.flavor");
+        String[] osVersion = System.getProperty("os.version").split("\\.");
+        /*
+         * Perform the test for only arm-based architecture and
+         * kernel version 3.10 and above.
+         */
+        if (!arch.contains("arm") ||
+            Integer.parseInt(osVersion[0]) < 2 ||
+            (Integer.parseInt(osVersion[0]) == 3 &&
+             Integer.parseInt(osVersion[1]) < 10) ||
+             flavor.contains("sprout") || flavor.contains("sprout_b"))
+            return;
         final File f = new File("/proc/device-tree/cpus");
         assertTrue(f.exists());
         String[] dir = f.list(new FilenameFilter() {
diff --git a/tests/tests/permission/src/android/permission/cts/ProviderPermissionTest.java b/tests/tests/permission/src/android/permission/cts/ProviderPermissionTest.java
index 2dd5892..6d55a69 100644
--- a/tests/tests/permission/src/android/permission/cts/ProviderPermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/ProviderPermissionTest.java
@@ -16,8 +16,10 @@
 
 package android.permission.cts;
 
+import android.content.ContentValues;
 import android.provider.CallLog;
 import android.provider.Contacts;
+import android.provider.Settings;
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.MediumTest;
 
@@ -73,7 +75,19 @@
      *   {@link android.Manifest.permission#WRITE_SETTINGS}
      */
     public void testWriteSettings() {
-        assertWritingContentUriRequiresPermission(android.provider.Settings.System.CONTENT_URI,
-                android.Manifest.permission.WRITE_SETTINGS);
+        final String permission = android.Manifest.permission.WRITE_SETTINGS;
+        ContentValues value = new ContentValues();
+        value.put(Settings.System.NAME, "name");
+        value.put(Settings.System.VALUE, "value_insert");
+
+        try {
+            getContext().getContentResolver().insert(Settings.System.CONTENT_URI, value);
+            fail("expected SecurityException requiring " + permission);
+        } catch (SecurityException expected) {
+            assertNotNull("security exception's error message.", expected.getMessage());
+            assertTrue("error message should contain \"" + permission + "\". Got: \""
+                    + expected.getMessage() + "\".",
+                    expected.getMessage().contains(permission));
+        }
     }
 }
diff --git a/tests/tests/permission/src/android/permission/cts/TvPermissionTest.java b/tests/tests/permission/src/android/permission/cts/TvPermissionTest.java
new file mode 100644
index 0000000..4139059
--- /dev/null
+++ b/tests/tests/permission/src/android/permission/cts/TvPermissionTest.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.permission.cts;
+
+import android.content.ContentValues;
+import android.content.pm.PackageManager;
+import android.media.tv.TvContract;
+import android.net.Uri;
+import android.test.AndroidTestCase;
+
+/**
+ * Tests for TV API related permissions.
+ */
+public class TvPermissionTest extends AndroidTestCase {
+    private static final String DUMMY_INPUT_ID = "dummy";
+
+    private boolean mHasTvInputFramework;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mHasTvInputFramework = getContext().getPackageManager()
+                .hasSystemFeature(PackageManager.FEATURE_LIVE_TV);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    public void verifyInsert(Uri uri, String tableName) throws Exception {
+        try {
+            ContentValues values = new ContentValues();
+            getContext().getContentResolver().insert(uri, values);
+            fail("Accessing " + tableName + " table should require WRITE_EPG_DATA permission.");
+        } catch (SecurityException e) {
+            // Expected exception
+        }
+    }
+
+    public void verifyUpdate(Uri uri, String tableName) throws Exception {
+        try {
+            ContentValues values = new ContentValues();
+            getContext().getContentResolver().update(uri, values, null, null);
+            fail("Accessing " + tableName + " table should require WRITE_EPG_DATA permission.");
+        } catch (SecurityException e) {
+            // Expected exception
+        }
+    }
+
+    public void verifyDelete(Uri uri, String tableName) throws Exception {
+        try {
+            getContext().getContentResolver().delete(uri, null, null);
+            fail("Accessing " + tableName + " table should require WRITE_EPG_DATA permission.");
+        } catch (SecurityException e) {
+            // Expected exception
+        }
+    }
+
+    public void testInsertChannels() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyInsert(TvContract.Channels.CONTENT_URI, "channels");
+    }
+
+    public void testUpdateChannels() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyUpdate(TvContract.Channels.CONTENT_URI, "channels");
+    }
+
+    public void testDeleteChannels() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyDelete(TvContract.Channels.CONTENT_URI, "channels");
+    }
+
+    public void testInsertPrograms() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyInsert(TvContract.Programs.CONTENT_URI, "programs");
+    }
+
+    public void testUpdatePrograms() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyUpdate(TvContract.Programs.CONTENT_URI, "programs");
+    }
+
+    public void testDeletePrograms() throws Exception {
+        if (!mHasTvInputFramework) return;
+        verifyDelete(TvContract.Programs.CONTENT_URI, "programs");
+    }
+}
diff --git a/tests/tests/permission2/src/android/permission2/cts/PermissionPolicyTest.java b/tests/tests/permission2/src/android/permission2/cts/PermissionPolicyTest.java
new file mode 100644
index 0000000..a4d68cb
--- /dev/null
+++ b/tests/tests/permission2/src/android/permission2/cts/PermissionPolicyTest.java
@@ -0,0 +1,64 @@
+/*
+* Copyright (C) 2015 The Android Open Source Project
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+package android.permission2.cts;
+
+import android.Manifest;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PermissionInfo;
+import android.test.AndroidTestCase;
+import android.text.TextUtils;
+import android.util.ArraySet;
+
+import java.util.Set;
+
+/**
+ * Tests for permission policy on the platform.
+ */
+public class PermissionPolicyTest extends AndroidTestCase {
+    private static final String PLATFORM_PACKAGE_NAME = "android";
+
+    private static final Set<String> PERMISSION_GROUPS = new ArraySet<>();
+    static {
+        PERMISSION_GROUPS.add(Manifest.permission_group.CALENDAR);
+        PERMISSION_GROUPS.add(Manifest.permission_group.CAMERA);
+        PERMISSION_GROUPS.add(Manifest.permission_group.CONTACTS);
+        PERMISSION_GROUPS.add(Manifest.permission_group.LOCATION);
+        PERMISSION_GROUPS.add(Manifest.permission_group.MICROPHONE);
+        PERMISSION_GROUPS.add(Manifest.permission_group.PHONE);
+        PERMISSION_GROUPS.add(Manifest.permission_group.SENSORS);
+        PERMISSION_GROUPS.add(Manifest.permission_group.SMS);
+        PERMISSION_GROUPS.add(Manifest.permission_group.STORAGE);
+    }
+
+    public void testPlatformDefinedRuntimePermissionValid() throws Exception {
+        PackageManager packageManager = getContext().getPackageManager();
+        PackageInfo packageInfo = packageManager.getPackageInfo(PLATFORM_PACKAGE_NAME,
+                PackageManager.GET_PERMISSIONS);
+        for (PermissionInfo permission : packageInfo.permissions) {
+            if ((permission.protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == 0) {
+                continue;
+            }
+            assertTrue(permission.name + " must be in one of these groups: " + PERMISSION_GROUPS,
+                    PERMISSION_GROUPS.contains(permission.group));
+            assertFalse(permission.name + " must have non-empty label",
+                    TextUtils.isEmpty(permission.loadLabel(packageManager)));
+            assertFalse(permission.name + " must have non-empty description",
+                    TextUtils.isEmpty(permission.loadDescription(packageManager)));
+        }
+    }
+}
diff --git a/tests/tests/print/src/android/print/cts/BasePrintTest.java b/tests/tests/print/src/android/print/cts/BasePrintTest.java
index 31dfb9f..e75ec94 100644
--- a/tests/tests/print/src/android/print/cts/BasePrintTest.java
+++ b/tests/tests/print/src/android/print/cts/BasePrintTest.java
@@ -60,9 +60,13 @@
 import org.mockito.InOrder;
 import org.mockito.stubbing.Answer;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
 import java.util.concurrent.TimeoutException;
@@ -80,6 +84,12 @@
 
     private static final String PM_CLEAR_SUCCESS_OUTPUT = "Success";
 
+    private static final String COMMAND_LIST_ENABLED_IME_COMPONENTS = "ime list -s";
+
+    private static final String COMMAND_PREFIX_ENABLE_IME = "ime enable ";
+
+    private static final String COMMAND_PREFIX_DISABLE_IME = "ime disable ";
+
     private PrintDocumentActivity mActivity;
 
     private Locale mOldLocale;
@@ -91,11 +101,49 @@
     private CallCounter mPrintJobQueuedCallCounter;
     private CallCounter mDestroySessionCallCounter;
 
+    private String[] mEnabledImes;
+
+    private String[] getEnabledImes() throws IOException {
+        List<String> imeList = new ArrayList<>();
+
+        ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation()
+                .executeShellCommand(COMMAND_LIST_ENABLED_IME_COMPONENTS);
+        BufferedReader reader = new BufferedReader(
+                new InputStreamReader(new FileInputStream(pfd.getFileDescriptor())));
+
+        String line;
+        while ((line = reader.readLine()) != null) {
+            imeList.add(line);
+        }
+
+        String[] imeArray = new String[imeList.size()];
+        imeList.toArray(imeArray);
+
+        return imeArray;
+    }
+
+    private void disableImes() throws Exception {
+        mEnabledImes = getEnabledImes();
+        for (String ime : mEnabledImes) {
+            String disableImeCommand = COMMAND_PREFIX_DISABLE_IME + ime;
+            SystemUtil.runShellCommand(getInstrumentation(), disableImeCommand);
+        }
+    }
+
+    private void enableImes() throws Exception {
+        for (String ime : mEnabledImes) {
+            String enableImeCommand = COMMAND_PREFIX_ENABLE_IME + ime;
+            SystemUtil.runShellCommand(getInstrumentation(), enableImeCommand);
+        }
+        mEnabledImes = null;
+    }
+
     @Override
     public void setUp() throws Exception {
         // Make sure we start with a clean slate.
         clearPrintSpoolerData();
         enablePrintServices();
+        disableImes();
 
         // Workaround for dexmaker bug: https://code.google.com/p/dexmaker/issues/detail?id=2
         // Dexmaker is used by mockito.
@@ -130,6 +178,7 @@
     public void tearDown() throws Exception {
         // Done with the activity.
         getActivity().finish();
+        enableImes();
 
         // Restore the locale if needed.
         if (mOldLocale != null) {
diff --git a/tests/tests/provider/AndroidManifest.xml b/tests/tests/provider/AndroidManifest.xml
index b1a7130..ed180f6 100644
--- a/tests/tests/provider/AndroidManifest.xml
+++ b/tests/tests/provider/AndroidManifest.xml
@@ -32,8 +32,6 @@
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
-    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
-    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
     <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
     <uses-permission android:name="android.permission.WRITE_CALL_LOG" />
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
@@ -62,6 +60,15 @@
                        android:resource="@xml/contactprovider_authenticator"/>
         </service>
 
+        <service android:name=".MockInputMethodService"
+                 android:label="UserDictionaryInputMethodTestService"
+                 android:permission="android.permission.BIND_INPUT_METHOD">
+            <intent-filter>
+                <action android:name="android.view.InputMethod" />
+            </intent-filter>
+            <meta-data android:name="android.view.im"
+                       android:resource="@xml/method" />
+        </service>
     </application>
 
     <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
diff --git a/tests/tests/provider/AndroidTest.xml b/tests/tests/provider/AndroidTest.xml
new file mode 100644
index 0000000..ae603a3
--- /dev/null
+++ b/tests/tests/provider/AndroidTest.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2015 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<configuration description="Test module config for provider">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsProviderTestCases.apk" />
+    <option name="run-command:run-command"
+            value="ime enable com.android.cts.provider/.MockInputMethodService" />
+</configuration>
\ No newline at end of file
diff --git a/tests/tests/provider/res/xml/method.xml b/tests/tests/provider/res/xml/method.xml
new file mode 100644
index 0000000..5ac1b80
--- /dev/null
+++ b/tests/tests/provider/res/xml/method.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2015 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<input-method xmlns:android="http://schemas.android.com/apk/res/android"
+              android:settingsActivity="android.provider.cts.NoSuchActivity"
+/>
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
index c695630..33d3a28 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_DataTest.java
@@ -22,7 +22,6 @@
 import android.content.ContentProviderClient;
 import android.content.ContentResolver;
 import android.content.ContentValues;
-import android.database.Cursor;
 import android.net.Uri;
 import android.os.SystemClock;
 import android.provider.ContactsContract;
@@ -402,7 +401,7 @@
                         Data.STATUS_ICON,
                         Data.TIMES_USED,
                         Data.LAST_TIME_USED},
-                new long[]{rawContact.getId()}
+                new long[]{contactId}
         );
     }
 
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsContract_PinnedPositionsTest.java b/tests/tests/provider/src/android/provider/cts/ContactsContract_PinnedPositionsTest.java
index 2558c36..e56127b 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsContract_PinnedPositionsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsContract_PinnedPositionsTest.java
@@ -203,9 +203,9 @@
         ContactUtil.setAggregationException(mResolver, AggregationExceptions.TYPE_KEEP_SEPARATE,
             i1.mRawContactId, i4.mRawContactId);
 
-        // Raw contacts should be unpinned after being split, but still starred.
+        // Raw contacts should keep the pinned position after re-grouping, and still starred.
         assertValuesForRawContact(i1.mRawContactId,
-                newContentValues(RawContacts.PINNED, PinnedPositions.UNPINNED, RawContacts.STARRED,
+                newContentValues(RawContacts.PINNED, 1, RawContacts.STARRED,
                         1));
         assertValuesForRawContact(i2.mRawContactId,
                 newContentValues(RawContacts.PINNED, 2, RawContacts.STARRED, 1));
@@ -229,7 +229,7 @@
         final long cId1 = RawContactUtil.queryContactIdByRawContactId(mResolver, i1.mRawContactId);
         final long cId4 = RawContactUtil.queryContactIdByRawContactId(mResolver, i4.mRawContactId);
 
-        assertValuesForContact(cId1, newContentValues(Contacts.PINNED, PinnedPositions.UNPINNED));
+        assertValuesForContact(cId1, newContentValues(Contacts.PINNED, 1));
         assertValuesForContact(i2.mContactId, newContentValues(Contacts.PINNED, 2));
         assertValuesForContact(cId4, newContentValues(Contacts.PINNED, PinnedPositions.UNPINNED));
         assertValuesForContact(i5.mContactId,
@@ -241,7 +241,7 @@
                 i5.mRawContactId, i6.mRawContactId);
 
         // The resulting contact should have a pinned value of 6.
-        assertValuesForContact(cId1, newContentValues(Contacts.PINNED, PinnedPositions.UNPINNED));
+        assertValuesForContact(cId1, newContentValues(Contacts.PINNED, 1));
         assertValuesForContact(i2.mContactId, newContentValues(Contacts.PINNED, 2));
         assertValuesForContact(cId4, newContentValues(Contacts.PINNED, PinnedPositions.UNPINNED));
         assertValuesForContact(i5.mContactId, newContentValues(Contacts.PINNED, 6));
diff --git a/tests/tests/provider/src/android/provider/cts/ContactsTest.java b/tests/tests/provider/src/android/provider/cts/ContactsTest.java
index 9febaa2..4d1cb86 100644
--- a/tests/tests/provider/src/android/provider/cts/ContactsTest.java
+++ b/tests/tests/provider/src/android/provider/cts/ContactsTest.java
@@ -40,6 +40,7 @@
 import android.provider.Contacts.Phones;
 import android.provider.Contacts.Photos;
 import android.provider.Contacts.Settings;
+import android.provider.ContactsContract;
 import android.telephony.PhoneNumberUtils;
 import android.test.InstrumentationTestCase;
 
@@ -56,7 +57,7 @@
     protected void setUp() throws Exception {
         super.setUp();
         mContentResolver = getInstrumentation().getTargetContext().getContentResolver();
-        mProvider = mContentResolver.acquireContentProviderClient(Contacts.AUTHORITY);
+        mProvider = mContentResolver.acquireContentProviderClient(ContactsContract.AUTHORITY);
         mCallLogProvider = mContentResolver.acquireContentProviderClient(CallLog.AUTHORITY);
     }
 
diff --git a/tests/tests/provider/src/android/provider/cts/Settings_SystemTest.java b/tests/tests/provider/src/android/provider/cts/Settings_SystemTest.java
index 96ea1d0..b3c545e 100644
--- a/tests/tests/provider/src/android/provider/cts/Settings_SystemTest.java
+++ b/tests/tests/provider/src/android/provider/cts/Settings_SystemTest.java
@@ -21,11 +21,16 @@
 import android.content.res.Configuration;
 import android.database.Cursor;
 import android.net.Uri;
+import android.os.ParcelFileDescriptor;
 import android.provider.Settings.SettingNotFoundException;
 import android.provider.Settings.System;
-import android.test.AndroidTestCase;
+import android.test.InstrumentationTestCase;
 
-public class Settings_SystemTest extends AndroidTestCase {
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.util.Scanner;
+
+public class Settings_SystemTest extends InstrumentationTestCase {
     private ContentResolver cr;
 
     private static final String INT_FIELD = "IntField";
@@ -37,7 +42,7 @@
     protected void setUp() throws Exception {
         super.setUp();
 
-        cr = mContext.getContentResolver();
+        cr = getInstrumentation().getContext().getContentResolver();
         assertNotNull(cr);
     }
 
@@ -55,6 +60,34 @@
         cr.delete(System.CONTENT_URI, selection, null);
     }
 
+    private void enableAppOps() {
+        StringBuilder cmd = new StringBuilder();
+        cmd.append("appops set ");
+        cmd.append(getInstrumentation().getContext().getPackageName());
+        cmd.append(" android:write_settings allow");
+        getInstrumentation().getUiAutomation().executeShellCommand(cmd.toString());
+
+        StringBuilder query = new StringBuilder();
+        query.append("appops get ");
+        query.append(getInstrumentation().getContext().getPackageName());
+        query.append(" android:write_settings");
+        String queryStr = query.toString();
+
+        String result = "No operations.";
+        while (result.contains("No operations")) {
+            ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation().executeShellCommand(
+                    queryStr);
+            InputStream inputStream = new FileInputStream(pfd.getFileDescriptor());
+            result = convertStreamToString(inputStream);
+        }
+    }
+
+    private String convertStreamToString(InputStream is) {
+        try (Scanner scanner = new Scanner(is).useDelimiter("\\A")) {
+            return scanner.hasNext() ? scanner.next() : "";
+        }
+    }
+
     public void testSystemSettings() throws SettingNotFoundException {
         /**
          * first query the exist settings in System table, and then insert five
diff --git a/tests/tests/provider/src/android/provider/cts/TelephonyProviderTest.java b/tests/tests/provider/src/android/provider/cts/TelephonyProviderTest.java
index 0eba9f2..b06ddfa 100644
--- a/tests/tests/provider/src/android/provider/cts/TelephonyProviderTest.java
+++ b/tests/tests/provider/src/android/provider/cts/TelephonyProviderTest.java
@@ -52,32 +52,35 @@
 
     // Test that the TelephonyProvider doesn't allow clients to update _data column data and
     // if they can, that they can't abuse the provider to open an arbitrary file.
-    public void testOpeningAnyFile() {
-        Uri uri = Uri.parse("content://mms/100/part");
-        try {
-            ContentValues values2 = new ContentValues();
-            values2.put("_data", "/dev/urandom");
-            Uri uri2 = mContentResolver.insert(uri, values2);
-            assertEquals("The code was able to insert the _data column", null, uri2);
-            if (uri2 == null) {
-                return;
-            }
-            ContentValues values = new ContentValues();
-            values.put("_data", "/dev/urandom");
-            int rowCnt = mContentResolver.update(uri2, values, null, null);
-            assertEquals("Was able to update the _data column", 0, rowCnt);
-
-            ParcelFileDescriptor pfd = mContentResolver.openFileDescriptor(uri2, "rw");
-            pfd.getFileDescriptor();
-            FileDescriptor fd = pfd.getFileDescriptor();
-            Field fld = fd.getClass().getDeclaredField("descriptor");
-            fld.setAccessible(true);
-            int fint  = fld.getInt(fd);
-            fail("The code was able to abuse the MmsProvider to open any file");
-        } catch(Exception e){
-            e.printStackTrace();
-        }
-    }
+    // --- This test is commented out for now because the test needs to run as if it were
+    // the default SMS app. Until we have a way to do that in the test framework, the test will
+    // fail (i.e. the insert will appear to have succeeded when it really hasn't).
+//    public void testOpeningAnyFile() {
+//        Uri uri = Uri.parse("content://mms/100/part");
+//        try {
+//            ContentValues values2 = new ContentValues();
+//            values2.put("_data", "/dev/urandom");
+//            Uri uri2 = mContentResolver.insert(uri, values2);
+//            assertNull("The code was able to insert the _data column", uri2);
+//            if (uri2 == null) {
+//                return;
+//            }
+//            ContentValues values = new ContentValues();
+//            values.put("_data", "/dev/urandom");
+//            int rowCnt = mContentResolver.update(uri2, values, null, null);
+//            assertEquals("Was able to update the _data column", 0, rowCnt);
+//
+//            ParcelFileDescriptor pfd = mContentResolver.openFileDescriptor(uri2, "rw");
+//            pfd.getFileDescriptor();
+//            FileDescriptor fd = pfd.getFileDescriptor();
+//            Field fld = fd.getClass().getDeclaredField("descriptor");
+//            fld.setAccessible(true);
+//            int fint  = fld.getInt(fd);
+//            fail("The code was able to abuse the MmsProvider to open any file");
+//        } catch(Exception e){
+//            e.printStackTrace();
+//        }
+//    }
 
     // In JB MR1 access to the TelephonyProvider's Carriers table was clamped down and would
     // throw a SecurityException when queried. That was fixed in JB MR2. Verify that 3rd parties
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java b/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
index b90633e..38831f4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/ForEachTest.java
@@ -475,8 +475,8 @@
         s.invoke_verify_foo();
         s.invoke_foreach_test();
         mRS.finish();
-        checkForErrors();
         waitForMessage();
+        checkForErrors();
     }
 
     public void testNoRoot() {
@@ -494,7 +494,7 @@
         s.invoke_verify_foo();
         s.invoke_noroot_test();
         mRS.finish();
-        checkForErrors();
         waitForMessage();
+        checkForErrors();
     }
 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/KernelInputTest.java b/tests/tests/renderscript/src/android/renderscript/cts/KernelInputTest.java
new file mode 100644
index 0000000..ecb1b6d
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/KernelInputTest.java
@@ -0,0 +1,619 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.renderscript.cts;
+
+import android.renderscript.Allocation;
+
+import android.renderscript.Byte2;
+import android.renderscript.Byte3;
+import android.renderscript.Byte4;
+
+import android.renderscript.Double2;
+import android.renderscript.Double3;
+import android.renderscript.Double4;
+
+import android.renderscript.Element;
+
+import android.renderscript.Float2;
+import android.renderscript.Float3;
+import android.renderscript.Float4;
+
+import android.renderscript.Int2;
+import android.renderscript.Int3;
+import android.renderscript.Int4;
+
+import android.renderscript.Long2;
+import android.renderscript.Long3;
+import android.renderscript.Long4;
+
+import android.renderscript.Short2;
+import android.renderscript.Short3;
+import android.renderscript.Short4;
+
+import android.renderscript.Element;
+
+/*
+ * This checks that modifications to input arguments done by a kernel
+ * are never reflected back to the input Allocation.
+ *
+ * The test works by launching forEach kernels that take different
+ * types of inputs. Each forEach kernel modifies its input in some way.
+ * After running the forEach kernel, the input Allocation is checked
+ * that it remains unmodified.
+ */
+public class KernelInputTest extends RSBaseCompute {
+
+    void checkForErrorsInScript(ScriptC_kernel_input script) {
+        mRS.finish();
+        script.invoke_checkError();
+        waitForMessage();
+        checkForErrors();
+    }
+
+    public void testInputNotModified_char() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I8(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I8(mRS), 1);
+
+        script.set_initial_value_char((byte) 6);
+        ain.copyFrom(new byte[]{ (byte) 6 });
+        script.forEach_clear_input_char(ain, tmp);
+        script.invoke_verify_input_char(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_char2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I8_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I8_2(mRS), 1);
+
+        script.set_initial_value_char2(new Byte2((byte) 127, (byte) 3));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3 });
+        script.forEach_clear_input_char2(ain, tmp);
+        script.invoke_verify_input_char2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_char3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I8_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I8_3(mRS), 1);
+
+        script.set_initial_value_char3(new Byte3((byte) 127, (byte) 3, (byte) 4));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3, (byte) 4, 0 });
+        script.forEach_clear_input_char3(ain, tmp);
+        script.invoke_verify_input_char3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_char4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I8_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I8_4(mRS), 1);
+
+        script.set_initial_value_char4(new Byte4((byte) 127, (byte) 3, (byte) 4, (byte) 7));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3, (byte) 4, (byte) 7 });
+        script.forEach_clear_input_char4(ain, tmp);
+        script.invoke_verify_input_char4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_double() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F64(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F64(mRS), 1);
+
+        script.set_initial_value_double((double) 6);
+        ain.copyFrom(new double[]{ (double) 6 });
+        script.forEach_clear_input_double(ain, tmp);
+        script.invoke_verify_input_double(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_double2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F64_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F64_2(mRS), 1);
+
+        script.set_initial_value_double2(new Double2((double) 127, (double) 3));
+        ain.copyFrom(new double[]{ (double) 127, (double) 3 });
+        script.forEach_clear_input_double2(ain, tmp);
+        script.invoke_verify_input_double2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_double3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F64_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F64_3(mRS), 1);
+
+        script.set_initial_value_double3(new Double3((double) 127, (double) 3, (double) 4));
+        ain.copyFrom(new double[]{ (double) 127, (double) 3, (double) 4, 0 });
+        script.forEach_clear_input_double3(ain, tmp);
+        script.invoke_verify_input_double3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_double4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F64_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F64_4(mRS), 1);
+
+        script.set_initial_value_double4(new Double4((double) 127, (double) 3, (double) 4, (double) 7));
+        ain.copyFrom(new double[]{ (double) 127, (double) 3, (double) 4, (double) 7 });
+        script.forEach_clear_input_double4(ain, tmp);
+        script.invoke_verify_input_double4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_float() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F32(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F32(mRS), 1);
+
+        script.set_initial_value_float((float) 6);
+        ain.copyFrom(new float[]{ (float) 6 });
+        script.forEach_clear_input_float(ain, tmp);
+        script.invoke_verify_input_float(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_float2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F32_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F32_2(mRS), 1);
+
+        script.set_initial_value_float2(new Float2((float) 127, (float) 3));
+        ain.copyFrom(new float[]{ (float) 127, (float) 3 });
+        script.forEach_clear_input_float2(ain, tmp);
+        script.invoke_verify_input_float2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_float3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F32_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F32_3(mRS), 1);
+
+        script.set_initial_value_float3(new Float3((float) 127, (float) 3, (float) 4));
+        ain.copyFrom(new float[]{ (float) 127, (float) 3, (float) 4, 0 });
+        script.forEach_clear_input_float3(ain, tmp);
+        script.invoke_verify_input_float3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_float4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.F32_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.F32_4(mRS), 1);
+
+        script.set_initial_value_float4(new Float4((float) 127, (float) 3, (float) 4, (float) 7));
+        ain.copyFrom(new float[]{ (float) 127, (float) 3, (float) 4, (float) 7 });
+        script.forEach_clear_input_float4(ain, tmp);
+        script.invoke_verify_input_float4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_int() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I32(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I32(mRS), 1);
+
+        script.set_initial_value_int(6);
+        ain.copyFrom(new int[]{ 6 });
+        script.forEach_clear_input_int(ain, tmp);
+        script.invoke_verify_input_int(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_int2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I32_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I32_2(mRS), 1);
+
+        script.set_initial_value_int2(new Int2(127, 3));
+        ain.copyFrom(new int[]{ 127, 3 });
+        script.forEach_clear_input_int2(ain, tmp);
+        script.invoke_verify_input_int2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_int3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I32_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I32_3(mRS), 1);
+
+        script.set_initial_value_int3(new Int3(127, 3, 4));
+        ain.copyFrom(new int[]{ 127, 3, 4, 0 });
+        script.forEach_clear_input_int3(ain, tmp);
+        script.invoke_verify_input_int3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_int4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I32_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I32_4(mRS), 1);
+
+        script.set_initial_value_int4(new Int4(127, 3, 4, 7));
+        ain.copyFrom(new int[]{ 127, 3, 4, 7 });
+        script.forEach_clear_input_int4(ain, tmp);
+        script.invoke_verify_input_int4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_long() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I64(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I64(mRS), 1);
+
+        script.set_initial_value_long((long) 6);
+        ain.copyFrom(new long[]{ (long) 6 });
+        script.forEach_clear_input_long(ain, tmp);
+        script.invoke_verify_input_long(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_long2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I64_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I64_2(mRS), 1);
+
+        script.set_initial_value_long2(new Long2((long) 127, (long) 3));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3 });
+        script.forEach_clear_input_long2(ain, tmp);
+        script.invoke_verify_input_long2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_long3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I64_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I64_3(mRS), 1);
+
+        script.set_initial_value_long3(new Long3((long) 127, (long) 3, (long) 4));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3, (long) 4, 0 });
+        script.forEach_clear_input_long3(ain, tmp);
+        script.invoke_verify_input_long3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_long4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I64_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I64_4(mRS), 1);
+
+        script.set_initial_value_long4(new Long4((long) 127, (long) 3, (long) 4, (long) 7));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3, (long) 4, (long) 7 });
+        script.forEach_clear_input_long4(ain, tmp);
+        script.invoke_verify_input_long4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_short() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I16(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I16(mRS), 1);
+
+        script.set_initial_value_short((short) 6);
+        ain.copyFrom(new short[]{ (short) 6 });
+        script.forEach_clear_input_short(ain, tmp);
+        script.invoke_verify_input_short(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_short2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I16_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I16_2(mRS), 1);
+
+        script.set_initial_value_short2(new Short2((short) 127, (short) 3));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3 });
+        script.forEach_clear_input_short2(ain, tmp);
+        script.invoke_verify_input_short2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_short3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I16_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I16_3(mRS), 1);
+
+        script.set_initial_value_short3(new Short3((short) 127, (short) 3, (short) 4));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3, (short) 4, 0 });
+        script.forEach_clear_input_short3(ain, tmp);
+        script.invoke_verify_input_short3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_short4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.I16_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.I16_4(mRS), 1);
+
+        script.set_initial_value_short4(new Short4((short) 127, (short) 3, (short) 4, (short) 7));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3, (short) 4, (short) 7 });
+        script.forEach_clear_input_short4(ain, tmp);
+        script.invoke_verify_input_short4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uchar() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U8(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U8(mRS), 1);
+
+        script.set_initial_value_uchar((short) 6);
+        ain.copyFrom(new byte[]{ (byte) 6 });
+        script.forEach_clear_input_uchar(ain, tmp);
+        script.invoke_verify_input_uchar(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uchar2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U8_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U8_2(mRS), 1);
+
+        script.set_initial_value_uchar2(new Short2((short) 127, (short) 3));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3 });
+        script.forEach_clear_input_uchar2(ain, tmp);
+        script.invoke_verify_input_uchar2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uchar3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U8_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U8_3(mRS), 1);
+
+        script.set_initial_value_uchar3(new Short3((short) 127, (short) 3, (short) 4));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3, (byte) 4, 0 });
+        script.forEach_clear_input_uchar3(ain, tmp);
+        script.invoke_verify_input_uchar3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uchar4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U8_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U8_4(mRS), 1);
+
+        script.set_initial_value_uchar4(new Short4((short) 127, (short) 3, (short) 4, (short) 7));
+        ain.copyFrom(new byte[]{ (byte) 127, (byte) 3, (byte) 4, (byte) 7 });
+        script.forEach_clear_input_uchar4(ain, tmp);
+        script.invoke_verify_input_uchar4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uint() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U32(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U32(mRS), 1);
+
+        script.set_initial_value_uint((long) 6);
+        ain.copyFrom(new int[]{ 6 });
+        script.forEach_clear_input_uint(ain, tmp);
+        script.invoke_verify_input_uint(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uint2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U32_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U32_2(mRS), 1);
+
+        script.set_initial_value_uint2(new Long2((long) 127, (long) 3));
+        ain.copyFrom(new int[]{ 127, 3 });
+        script.forEach_clear_input_uint2(ain, tmp);
+        script.invoke_verify_input_uint2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uint3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U32_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U32_3(mRS), 1);
+
+        script.set_initial_value_uint3(new Long3((long) 127, (long) 3, (long) 4));
+        ain.copyFrom(new int[]{ 127, 3, 4, 0 });
+        script.forEach_clear_input_uint3(ain, tmp);
+        script.invoke_verify_input_uint3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_uint4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U32_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U32_4(mRS), 1);
+
+        script.set_initial_value_uint4(new Long4((long) 127, (long) 3, (long) 4, (long) 7));
+        ain.copyFrom(new int[]{ 127, 3, 4, 7 });
+        script.forEach_clear_input_uint4(ain, tmp);
+        script.invoke_verify_input_uint4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ulong() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U64(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U64(mRS), 1);
+
+        script.set_initial_value_ulong((long) 6);
+        ain.copyFrom(new long[]{ (long) 6 });
+        script.forEach_clear_input_ulong(ain, tmp);
+        script.invoke_verify_input_ulong(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ulong2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U64_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U64_2(mRS), 1);
+
+        script.set_initial_value_ulong2(new Long2((long) 127, (long) 3));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3 });
+        script.forEach_clear_input_ulong2(ain, tmp);
+        script.invoke_verify_input_ulong2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ulong3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U64_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U64_3(mRS), 1);
+
+        script.set_initial_value_ulong3(new Long3((long) 127, (long) 3, (long) 4));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3, (long) 4, 0 });
+        script.forEach_clear_input_ulong3(ain, tmp);
+        script.invoke_verify_input_ulong3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ulong4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U64_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U64_4(mRS), 1);
+
+        script.set_initial_value_ulong4(new Long4((long) 127, (long) 3, (long) 4, (long) 7));
+        ain.copyFrom(new long[]{ (long) 127, (long) 3, (long) 4, (long) 7 });
+        script.forEach_clear_input_ulong4(ain, tmp);
+        script.invoke_verify_input_ulong4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ushort() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U16(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U16(mRS), 1);
+
+        script.set_initial_value_ushort(6);
+        ain.copyFrom(new short[]{ (short) 6 });
+        script.forEach_clear_input_ushort(ain, tmp);
+        script.invoke_verify_input_ushort(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ushort2() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U16_2(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U16_2(mRS), 1);
+
+        script.set_initial_value_ushort2(new Int2(127, 3));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3 });
+        script.forEach_clear_input_ushort2(ain, tmp);
+        script.invoke_verify_input_ushort2(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ushort3() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U16_3(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U16_3(mRS), 1);
+
+        script.set_initial_value_ushort3(new Int3(127, 3, 4));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3, (short) 4, 0 });
+        script.forEach_clear_input_ushort3(ain, tmp);
+        script.invoke_verify_input_ushort3(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputNotModified_ushort4() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+        Allocation ain = Allocation.createSized(mRS, Element.U16_4(mRS), 1);
+        Allocation tmp = Allocation.createSized(mRS, Element.U16_4(mRS), 1);
+
+        script.set_initial_value_ushort4(new Int4(127, 3, 4, 7));
+        ain.copyFrom(new short[]{ (short) 127, (short) 3, (short) 4, (short) 7 });
+        script.forEach_clear_input_ushort4(ain, tmp);
+        script.invoke_verify_input_ushort4(ain);
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputsNotModified_small() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+
+        Allocation tmp = Allocation.createSized(mRS, ScriptField_small.createElement(mRS), 1);
+        ScriptField_small item = new ScriptField_small(mRS, 1);
+
+        item.set_x(0, new int[]{6}, true);
+        script.set_initial_value_small(item.get(0));
+        script.forEach_clear_input_small(item.getAllocation(), tmp);
+        script.invoke_verify_input_small(item.getAllocation());
+
+        checkForErrorsInScript(script);
+    }
+
+    public void testInputsNotModified_big() {
+        ScriptC_kernel_input script = new ScriptC_kernel_input(mRS);
+
+        Allocation tmp = Allocation.createSized(mRS, ScriptField_big.createElement(mRS), 1);
+        ScriptField_big item = new ScriptField_big(mRS, 1);
+
+        for (int i = 0; i < 100; i++) {
+            int[] input = new int[100];
+
+            input[i] = 6;
+            item.set_x(0, input, true);
+            script.set_initial_value_big(item.get(0));
+            script.forEach_clear_input_big(item.getAllocation(), tmp);
+            script.invoke_verify_input_big(item.getAllocation());
+       }
+
+      checkForErrorsInScript(script);
+    }
+}
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java b/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
index 64368b6..90d4fe9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/KernelTest.java
@@ -475,8 +475,8 @@
         s.invoke_verify_foo();
         s.invoke_foreach_test();
         mRS.finish();
-        checkForErrors();
         waitForMessage();
+        checkForErrors();
     }
 
     public void testNoRoot() {
@@ -494,7 +494,7 @@
         s.invoke_verify_foo();
         s.invoke_noroot_test();
         mRS.finish();
-        checkForErrors();
         waitForMessage();
+        checkForErrors();
     }
 }
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/RSBase.java b/tests/tests/renderscript/src/android/renderscript/cts/RSBase.java
index 0175c38..2ca4f13 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/RSBase.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/RSBase.java
@@ -34,7 +34,9 @@
     Resources mRes;
 
     private int result;
-    private boolean msgHandled;
+    // msgHandled is used to synchronize between waitForMessage() and the
+    // RSMessageHandler thread.
+    private volatile boolean msgHandled;
 
     protected static final int RS_MSG_TEST_PASSED = 100;
     protected static final int RS_MSG_TEST_FAILED = 101;
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java b/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
index bc69b0e..a468b9f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/SampleTest.java
@@ -92,8 +92,8 @@
     public void testNearest() {
         mScript.invoke_test_RGBA(mAlloc_RGBA_1D, mAlloc_RGBA_2D);
         mRS.finish();
-        checkForErrors();
         waitForMessage();
+        checkForErrors();
     }
 }
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/TestCtxDim.rs b/tests/tests/renderscript/src/android/renderscript/cts/TestCtxDim.rs
index a3bbf3e..3530f1c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/TestCtxDim.rs
+++ b/tests/tests/renderscript/src/android/renderscript/cts/TestCtxDim.rs
@@ -22,12 +22,12 @@
 int gDimX, gDimY, gDimZ;
 static bool failed = false;
 
-void __attribute__((kernel)) check_kernel(int32_t in /* dummy */, rs_kernel_context ctxt) {
-    uint32_t dimX = rsGetDimX(ctxt);
+void __attribute__((kernel)) check_kernel(int32_t in /* dummy */, rs_kernel_context context) {
+    uint32_t dimX = rsGetDimX(context);
     _RS_ASSERT(gDimX == dimX);
-    uint32_t dimY = rsGetDimY(ctxt);
+    uint32_t dimY = rsGetDimY(context);
     _RS_ASSERT(gDimY == dimY);
-    uint32_t dimZ = rsGetDimZ(ctxt);
+    uint32_t dimZ = rsGetDimZ(context);
     _RS_ASSERT(gDimZ == dimZ);
 }
 
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
index 91fe3c8..78bdfe8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAbs.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAbs extends RSBaseCompute {
 
     private ScriptC_TestAbs script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAbsCharUchar() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x79257810f7393ea6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xf7393ea6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 1), INPUTSIZE);
             script.forEach_testAbsCharUchar(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAbsCharUchar(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -75,28 +81,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsCharUchar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsCharUchar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsChar2Uchar2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xff611dd40e5e407cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xe5e407cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testAbsChar2Uchar2(inV, out);
@@ -115,9 +129,13 @@
 
     private void verifyResultsAbsChar2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -131,28 +149,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsChar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsChar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsChar3Uchar3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xff62e6ef0479615al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x479615al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testAbsChar3Uchar3(inV, out);
@@ -171,9 +197,13 @@
 
     private void verifyResultsAbsChar3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -187,28 +217,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsChar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsChar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsChar4Uchar4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xff64b009fa948238l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xfa948238l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testAbsChar4Uchar4(inV, out);
@@ -227,9 +265,13 @@
 
     private void verifyResultsAbsChar4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -243,24 +285,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsChar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsChar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortUshort {
@@ -269,7 +319,7 @@
     }
 
     private void checkAbsShortUshort() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xfab837da064819cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xa064819cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 1), INPUTSIZE);
             script.forEach_testAbsShortUshort(inV, out);
@@ -288,9 +338,13 @@
 
     private void verifyResultsAbsShortUshort(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -304,28 +358,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsShortUshort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsShortUshort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsShort2Ushort2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x231450e16856b93el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x6856b93el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testAbsShort2Ushort2(inV, out);
@@ -344,9 +406,13 @@
 
     private void verifyResultsAbsShort2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -360,28 +426,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsShort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsShort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsShort3Ushort3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x23611868beb24a6al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xbeb24a6al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testAbsShort3Ushort3(inV, out);
@@ -400,9 +474,13 @@
 
     private void verifyResultsAbsShort3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -416,28 +494,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsShort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsShort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsShort4Ushort4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x23addff0150ddb96l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x150ddb96l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testAbsShort4Ushort4(inV, out);
@@ -456,9 +542,13 @@
 
     private void verifyResultsAbsShort4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -472,24 +562,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsShort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsShort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntUint {
@@ -498,7 +596,7 @@
     }
 
     private void checkAbsIntUint() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x6adb1880ac5b83e6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xac5b83e6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 1), INPUTSIZE);
             script.forEach_testAbsIntUint(inV, out);
@@ -517,9 +615,13 @@
 
     private void verifyResultsAbsIntUint(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -533,28 +635,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsIntUint" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsIntUint" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsInt2Uint2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xc8728053938616fal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x938616fal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testAbsInt2Uint2(inV, out);
@@ -573,9 +683,13 @@
 
     private void verifyResultsAbsInt2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -589,28 +703,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsInt2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsInt2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsInt3Uint3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xc8728af4f28ddbeel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xf28ddbeel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testAbsInt3Uint3(inV, out);
@@ -629,9 +751,13 @@
 
     private void verifyResultsAbsInt3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -645,28 +771,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsInt3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsInt3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAbsInt4Uint4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xc87295965195a0e2l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x5195a0e2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testAbsInt4Uint4(inV, out);
@@ -685,9 +819,13 @@
 
     private void verifyResultsAbsInt4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -701,24 +839,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAbsInt4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAbsInt4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAbs() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
index e94111f..8ea35f7 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAcos extends RSBaseCompute {
 
     private ScriptC_TestAcos script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAcosFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf6e893f6d1cc3bdfl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd1cc3bdfl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAcosFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAcosFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcosFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcosFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcosFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x55af66f81096ae8bl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1096ae8bl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAcosFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAcosFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcosFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcosFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcosFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x55b1301306b1cf69l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6b1cf69l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAcosFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAcosFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcosFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcosFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcosFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x55b2f92dfcccf047l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfcccf047l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAcosFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAcosFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcosFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcosFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAcos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
index a6b4df3..6a4e844 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcosh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAcosh extends RSBaseCompute {
 
     private ScriptC_TestAcosh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAcoshFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x777ec00cf303663l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcf303663l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAcoshFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAcoshFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcoshFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcoshFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcoshFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf102471f37b311efl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x37b311efl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAcoshFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAcoshFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcoshFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcoshFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcoshFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf104103a2dce32cdl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2dce32cdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAcoshFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAcoshFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcoshFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcoshFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcoshFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf105d95523e953abl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x23e953abl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAcoshFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAcoshFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcoshFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcoshFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAcosh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
index a61a0cb..877f06b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAcospi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAcospi extends RSBaseCompute {
 
     private ScriptC_TestAcospi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAcospiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9fbdc3b5d1e084b2l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd1e084b2l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAcospiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAcospiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcospiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcospiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcospiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc175417fa318aa86l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa318aa86l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAcospiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAcospiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcospiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcospiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcospiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc1770a9a9933cb64l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9933cb64l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAcospiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAcospiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcospiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcospiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAcospiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc178d3b58f4eec42l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8f4eec42l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAcospiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAcospiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAcospiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAcospiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAcospi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
index c79a480..4f354fe 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAsin extends RSBaseCompute {
 
     private ScriptC_TestAsin script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAsinFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x80b5674ff98b5a12l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf98b5a12l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAsinFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAsinFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x9e11e5e823f7cce6l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x23f7cce6l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAsinFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAsinFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9e13af031a12edc4l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1a12edc4l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAsinFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAsinFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9e15781e102e0ea2l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x102e0ea2l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAsinFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAsinFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAsin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
index f646da0..c22e658 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAsinh extends RSBaseCompute {
 
     private ScriptC_TestAsinh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAsinhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2cdf6bfa7c4a48f4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7c4a48f4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAsinhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAsinhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x198d997279032b38l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x79032b38l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAsinhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAsinhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x198f628d6f1e4c16l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6f1e4c16l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAsinhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAsinhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x19912ba865396cf4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x65396cf4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAsinhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAsinhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAsinh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
index e2cebbf..5cd7a0e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAsinpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAsinpi extends RSBaseCompute {
 
     private ScriptC_TestAsinpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAsinpiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe82042a5e541a30dl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe541a30dl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAsinpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAsinpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinpiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x90dc157b9b8ce9c9l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x9b8ce9c9l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAsinpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAsinpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinpiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x90ddde9691a80aa7l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x91a80aa7l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAsinpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAsinpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAsinpiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x90dfa7b187c32b85l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x87c32b85l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAsinpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAsinpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAsinpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAsinpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAsinpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
index f7e6642..331227a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAtan extends RSBaseCompute {
 
     private ScriptC_TestAtan script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAtanFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2a9ae39592004c8dl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x92004c8dl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAtanFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAtanFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb890789248a32749l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x48a32749l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAtanFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAtanFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb89241ad3ebe4827l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3ebe4827l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAtanFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAtanFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb8940ac834d96905l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x34d96905l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAtanFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAtanFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAtan() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
index b817e34..b8894cd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAtan2 extends RSBaseCompute {
 
     private ScriptC_TestAtan2 script;
@@ -41,8 +43,8 @@
     }
 
     private void checkAtan2FloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x717c0d8e261d332l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x37738e957bd90d5bl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe261d332l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7bd90d5bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsAtan2FloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2FloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2FloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2Float2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8658ecfeefb30700l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x552b6d6bab583839l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xefb30700l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xab583839l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsAtan2Float2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2Float3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x61e79638927ef301l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1e8faeb47e33cb72l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x927ef301l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7e33cb72l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsAtan2Float3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2Float4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3d763f72354adf02l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe7f3effd510f5eabl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x354adf02l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x510f5eabl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsAtan2Float4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAtan2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
index a1cb7e7..f22b020 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtan2pi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAtan2pi extends RSBaseCompute {
 
     private ScriptC_TestAtan2pi script;
@@ -41,8 +43,8 @@
     }
 
     private void checkAtan2piFloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3276ace81dcb793l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc4961da25a748df4l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x81dcb793l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5a748df4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsAtan2piFloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2piFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2piFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2piFloat2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3b26f42853d1a0b3l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x393d275fcc5c5614l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x53d1a0b3l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xcc5c5614l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsAtan2piFloat2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2piFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2piFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2piFloat3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x16b59d61f69d8cb4l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2a168a89f37e94dl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf69d8cb4l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9f37e94dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsAtan2piFloat3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2piFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2piFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtan2piFloat4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf244469b996978b5l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xcc05a9f172137c86l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x996978b5l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x72137c86l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsAtan2piFloat4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtan2piFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtan2piFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAtan2pi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
index fb4867c..f292c1a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAtanh extends RSBaseCompute {
 
     private ScriptC_TestAtanh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAtanhFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb66b4bab17ef039dl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x17ef039dl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAtanhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAtanhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanhFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8cd03c06a1cb59d9l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa1cb59d9l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAtanhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAtanhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanhFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8cd2052197e67ab7l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x97e67ab7l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAtanhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAtanhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanhFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8cd3ce3c8e019b95l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8e019b95l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAtanhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAtanhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAtanh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
index 12c3faf..ed33df6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestAtanpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestAtanpi extends RSBaseCompute {
 
     private ScriptC_TestAtanpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkAtanpiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x29ed55009ecfd70l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9ecfd70l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testAtanpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsAtanpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanpiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xed0d645e752cbed4l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x752cbed4l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testAtanpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsAtanpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanpiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xed0f2d796b47dfb2l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6b47dfb2l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testAtanpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsAtanpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkAtanpiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xed10f69461630090l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x61630090l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testAtanpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsAtanpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkAtanpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkAtanpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testAtanpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
index d9028c8..206b9bb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCbrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCbrt extends RSBaseCompute {
 
     private ScriptC_TestCbrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkCbrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x21721d33845561d4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x845561d4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testCbrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsCbrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCbrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCbrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCbrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x910f9e5d9129d518l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x9129d518l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testCbrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsCbrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCbrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCbrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCbrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x911167788744f5f6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8744f5f6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testCbrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsCbrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCbrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCbrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCbrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x911330937d6016d4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7d6016d4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testCbrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsCbrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCbrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCbrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCbrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
index 4edd811..ea77e11 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCeil.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCeil extends RSBaseCompute {
 
     private ScriptC_TestCeil script;
@@ -40,7 +42,7 @@
     }
 
     private void checkCeilFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf12a662b492bf934l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x492bf934l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testCeilFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsCeilFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCeilFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCeilFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCeilFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdb16a3ea43152978l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x43152978l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testCeilFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsCeilFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCeilFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCeilFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCeilFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdb186d0539304a56l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x39304a56l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testCeilFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsCeilFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCeilFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCeilFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCeilFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdb1a36202f4b6b34l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2f4b6b34l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testCeilFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsCeilFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCeilFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCeilFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCeil() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
index 7ac17a9..8b0160c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClamp.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestClamp extends RSBaseCompute {
 
     private ScriptC_TestClamp script;
@@ -42,9 +44,9 @@
     }
 
     private void checkClampFloatFloatFloatFloat() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7e886d7cc83c447dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcebf6f230234027l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcebf6e6c180322dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc83c447dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x30234027l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc180322dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -68,13 +70,19 @@
 
     private void verifyResultsClampFloatFloatFloatFloat(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -91,36 +99,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloatFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloatFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat2Float2Float2Float2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa0d28bf142b07a5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb4e5c5f6ea8fc01fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb4e5c5eb7becb225l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x142b07a5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xea8fc01fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7becb225l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -144,13 +160,19 @@
 
     private void verifyResultsClampFloat2Float2Float2Float2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -167,36 +189,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat3Float3Float3Float3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd3716a4730ad7481l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc0d239a53946aa73l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc0d23999caa39c79l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x30ad7481l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3946aa73l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xcaa39c79l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -220,13 +250,19 @@
 
     private void verifyResultsClampFloat3Float3Float3Float3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -243,36 +279,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat3Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat3Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat4Float4Float4Float4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9cd5abcf4d2fe15dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xccbead5387fd94c7l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xccbead48195a86cdl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4d2fe15dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x87fd94c7l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x195a86cdl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -296,13 +340,19 @@
 
     private void verifyResultsClampFloat4Float4Float4Float4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -319,36 +369,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat4Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat4Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat2FloatFloatFloat2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x71623fb3f1fca1a1l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x148e792e1a6253d3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x148e7922abbf45d9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf1fca1a1l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1a6253d3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xabbf45d9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -372,13 +430,19 @@
 
     private void verifyResultsClampFloat2FloatFloatFloat2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -395,36 +459,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat2FloatFloatFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat2FloatFloatFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat3FloatFloatFloat3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc06893ff6ab8cf27l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1f4444b84d90bbc5l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1f4444acdeedadcbl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6ab8cf27l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4d90bbc5l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdeedadcbl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -448,13 +520,19 @@
 
     private void verifyResultsClampFloat3FloatFloatFloat3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -471,36 +549,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat3FloatFloatFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat3FloatFloatFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampFloat4FloatFloatFloat4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf6ee84ae374fcadl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x29fa104280bf23b7l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x29fa1037121c15bdl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe374fcadl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x80bf23b7l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x121c15bdl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -524,13 +610,19 @@
 
     private void verifyResultsClampFloat4FloatFloatFloat4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         float[] arrayInValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (float) 42);
         inValue.copyTo(arrayInValue);
         float[] arrayInMinValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (float) 42);
         inMinValue.copyTo(arrayInMinValue);
         float[] arrayInMaxValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (float) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -547,30 +639,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampFloat4FloatFloatFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampFloat4FloatFloatFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharCharCharChar {
@@ -581,9 +681,9 @@
     }
 
     private void checkClampCharCharCharChar() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xaec8640bb673cf75l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x6379f7c3c505c8fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x6379f70cdad4e95l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xb673cf75l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x3c505c8fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xcdad4e95l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 1), INPUTSIZE);
@@ -607,13 +707,19 @@
 
     private void verifyResultsClampCharCharCharChar(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -629,36 +735,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampCharCharCharChar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampCharCharCharChar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar2Char2Char2Char2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xa209cfe6c3feb45dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xed63d0ab3442bdc7l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xed63d09fc59fafcdl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xc3feb45dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x3442bdc7l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xc59fafcdl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
@@ -682,13 +796,19 @@
 
     private void verifyResultsClampChar2Char2Char2Char2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -704,36 +824,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar2Char2Char2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar2Char2Char2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar3Char3Char3Char3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xfab6edb7b9d3b0a5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x7ae6f958470ecb1fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x7ae6f94cd86bbd25l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xb9d3b0a5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x470ecb1fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd86bbd25l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
@@ -757,13 +885,19 @@
 
     private void verifyResultsClampChar3Char3Char3Char3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -779,36 +913,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar3Char3Char3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar3Char3Char3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar4Char4Char4Char4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x53640b88afa8acedl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x86a220559dad877l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x86a21f9eb37ca7dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xafa8acedl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x59dad877l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xeb37ca7dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
@@ -832,13 +974,19 @@
 
     private void verifyResultsClampChar4Char4Char4Char4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -854,30 +1002,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar4Char4Char4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar4Char4Char4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUcharUcharUchar {
@@ -888,9 +1044,9 @@
     }
 
     private void checkClampUcharUcharUcharUchar() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x680c818a4447655l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xae40bae375336f2fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xae40bad806906135l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xa4447655l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x75336f2fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x6906135l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 1), INPUTSIZE);
@@ -914,13 +1070,19 @@
 
     private void verifyResultsClampUcharUcharUcharUchar(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -936,36 +1098,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUcharUcharUcharUchar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUcharUcharUcharUchar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar2Uchar2Uchar2Uchar2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xd69df43245dae301l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x82681747662c1df3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x8268173bf7890ff9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x45dae301l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x662c1df3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xf7890ff9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
@@ -989,13 +1159,19 @@
 
     private void verifyResultsClampUchar2Uchar2Uchar2Uchar2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1011,36 +1187,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar2Uchar2Uchar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar2Uchar2Uchar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar3Uchar3Uchar3Uchar3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xa00235ba625d4fddl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x8e548af5b4e30847l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x8e548aea463ffa4dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x625d4fddl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xb4e30847l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x463ffa4dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
@@ -1064,13 +1248,19 @@
 
     private void verifyResultsClampUchar3Uchar3Uchar3Uchar3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1086,36 +1276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar3Uchar3Uchar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar3Uchar3Uchar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar4Uchar4Uchar4Uchar4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x696677427edfbcb9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x9a40fea40399f29bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x9a40fe9894f6e4a1l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7edfbcb9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x399f29bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x94f6e4a1l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
@@ -1139,13 +1337,19 @@
 
     private void verifyResultsClampUchar4Uchar4Uchar4Uchar4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1161,30 +1365,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar4Uchar4Uchar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar4Uchar4Uchar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortShortShortShort {
@@ -1195,9 +1407,9 @@
     }
 
     private void checkClampShortShortShortShort() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x8035c0627fc993ddl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xb5d4bd1fb4661447l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xb5d4bd1445c3064dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x7fc993ddl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xb4661447l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x45c3064dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 1), INPUTSIZE);
@@ -1221,13 +1433,19 @@
 
     private void verifyResultsClampShortShortShortShort(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1243,36 +1461,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShortShortShortShort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShortShortShortShort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort2Short2Short2Short2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x7eab8e9b984e0915l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x7b334b992e67336fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x7b334b8dbfc42575l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x984e0915l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x2e67336fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xbfc42575l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
@@ -1296,13 +1522,19 @@
 
     private void verifyResultsClampShort2Short2Short2Short2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1318,36 +1550,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort2Short2Short2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort2Short2Short2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort3Short3Short3Short3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x480fd023b4d075f1l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x871fbf477d1e1dc3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x871fbf3c0e7b0fc9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xb4d075f1l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x7d1e1dc3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xe7b0fc9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
@@ -1371,13 +1611,19 @@
 
     private void verifyResultsClampShort3Short3Short3Short3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1393,36 +1639,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort3Short3Short3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort3Short3Short3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort4Short4Short4Short4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x117411abd152e2cdl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x930c32f5cbd50817l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x930c32ea5d31fa1dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xd152e2cdl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xcbd50817l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x5d31fa1dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
@@ -1446,13 +1700,19 @@
 
     private void verifyResultsClampShort4Short4Short4Short4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1468,30 +1728,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort4Short4Short4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort4Short4Short4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUshortUshortUshort {
@@ -1502,9 +1770,9 @@
     }
 
     private void checkClampUshortUshortUshortUshort() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xf5881eeff74c4341l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xd2a0571394d3e2b3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xd2a057082630d4b9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xf74c4341l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x94d3e2b3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x2630d4b9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 1), INPUTSIZE);
@@ -1528,13 +1796,19 @@
 
     private void verifyResultsClampUshortUshortUshortUshort(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1550,36 +1824,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshortUshortUshortUshort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshortUshortUshortUshort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort2Ushort2Ushort2Ushort2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x6441dbe2fc36b705l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x52161e934fa3b43fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x52161e87e100a645l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xfc36b705l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x4fa3b43fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xe100a645l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
@@ -1603,13 +1885,19 @@
 
     private void verifyResultsClampUshort2Ushort2Ushort2Ushort2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1625,36 +1913,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort2Ushort2Ushort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort2Ushort2Ushort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort3Ushort3Ushort3Ushort3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x6b244d61fc64ee3dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x7b8d14b8610b3967l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x7b8d14acf2682b6dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xfc64ee3dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x610b3967l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xf2682b6dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
@@ -1678,13 +1974,19 @@
 
     private void verifyResultsClampUshort3Ushort3Ushort3Ushort3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1700,36 +2002,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort3Ushort3Ushort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort3Ushort3Ushort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort4Ushort4Ushort4Ushort4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x7206bee0fc932575l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xa5040add7272be8fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xa5040ad203cfb095l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xfc932575l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x7272be8fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x3cfb095l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
@@ -1753,13 +2063,19 @@
 
     private void verifyResultsClampUshort4Ushort4Ushort4Ushort4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1775,30 +2091,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort4Ushort4Ushort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort4Ushort4Ushort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntIntIntInt {
@@ -1809,9 +2133,9 @@
     }
 
     private void checkClampIntIntIntInt() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xfeb3aa11be6164c5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xd11c228c7c8bf97fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xd11c22810de8eb85l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xbe6164c5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x7c8bf97fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xde8eb85l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
@@ -1835,13 +2159,19 @@
 
     private void verifyResultsClampIntIntIntInt(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1857,36 +2187,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampIntIntIntInt" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampIntIntIntInt" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt2Int2Int2Int2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x56252903bd307c01l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x770112109398f8f3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x7701120524f5eaf9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xbd307c01l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x9398f8f3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x24f5eaf9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
@@ -1910,13 +2248,19 @@
 
     private void verifyResultsClampInt2Int2Int2Int2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1932,36 +2276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt2Int2Int2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt2Int2Int2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt3Int3Int3Int3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x966882045600d2edl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xeb73e6749c7caa77l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xeb73e6692dd99c7dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x5600d2edl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x9c7caa77l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x2dd99c7dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
@@ -1985,13 +2337,19 @@
 
     private void verifyResultsClampInt3Int3Int3Int3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2007,36 +2365,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt3Int3Int3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt3Int3Int3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt4Int4Int4Int4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xd6abdb04eed129d9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x5fe6bad8a5605bfbl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x5fe6bacd36bd4e01l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xeed129d9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xa5605bfbl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x36bd4e01l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
@@ -2060,13 +2426,19 @@
 
     private void verifyResultsClampInt4Int4Int4Int4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2082,30 +2454,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt4Int4Int4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt4Int4Int4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUintUintUint {
@@ -2116,9 +2496,9 @@
     }
 
     private void checkClampUintUintUintUint() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xd8df32b2efc89475l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xcf8ec8eece8b7b8fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xcf8ec8e35fe86d95l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xefc89475l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xce8b7b8fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x5fe86d95l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 1), INPUTSIZE);
@@ -2142,13 +2522,19 @@
 
     private void verifyResultsClampUintUintUintUint(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -2164,36 +2550,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUintUintUintUint" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUintUintUintUint" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint2Uint2Uint2Uint2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xaf28d478873ae5dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x5bbd21aa2a4bc7l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x5bbd163b873dcdl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x8873ae5dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xaa2a4bc7l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x3b873dcdl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
@@ -2217,13 +2611,19 @@
 
     private void verifyResultsClampUint2Uint2Uint2Uint2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2239,36 +2639,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint2Uint2Uint2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint2Uint2Uint2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint3Uint3Uint3Uint3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x639fab187e48aaa5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x8ddee5cebcf6591fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x8ddee5c34e534b25l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x7e48aaa5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xbcf6591fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x4e534b25l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
@@ -2292,13 +2700,19 @@
 
     private void verifyResultsClampUint3Uint3Uint3Uint3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2314,36 +2728,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint3Uint3Uint3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint3Uint3Uint3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint4Uint4Uint4Uint4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xbc4cc8e9741da6edl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x1b620e7bcfc26677l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x1b620e70611f587dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x741da6edl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xcfc26677l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x611f587dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
@@ -2367,13 +2789,19 @@
 
     private void verifyResultsClampUint4Uint4Uint4Uint4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2389,30 +2817,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint4Uint4Uint4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint4Uint4Uint4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongLongLongLong {
@@ -2423,9 +2859,9 @@
     }
 
     private void checkClampLongLongLongLong() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x63fd360531c9c41dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x9d04d1824ef4907l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x9d04d0cb64c3b0dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x31c9c41dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x24ef4907l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xb64c3b0dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 1), INPUTSIZE);
@@ -2449,13 +2885,19 @@
 
     private void verifyResultsClampLongLongLongLong(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -2471,36 +2913,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLongLongLongLong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLongLongLongLong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong2Long2Long2Long2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xccbae869c2b0f12dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xe4c3844f4a3f8937l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xe4c38443db9c7b3dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc2b0f12dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x4a3f8937l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xdb9c7b3dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
@@ -2524,13 +2974,19 @@
 
     private void verifyResultsClampLong2Long2Long2Long2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2546,36 +3002,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong2Long2Long2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong2Long2Long2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong3Long3Long3Long3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x2568063ab885ed75l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7246acfc5d0b968fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7246acf0ee688895l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xb885ed75l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x5d0b968fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xee688895l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
@@ -2599,13 +3063,19 @@
 
     private void verifyResultsClampLong3Long3Long3Long3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2621,36 +3091,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong3Long3Long3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong3Long3Long3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong4Long4Long4Long4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7e15240bae5ae9bdl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xffc9d5a96fd7a3e7l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xffc9d59e013495edl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xae5ae9bdl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x6fd7a3e7l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x13495edl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
@@ -2674,13 +3152,19 @@
 
     private void verifyResultsClampLong4Long4Long4Long4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2696,30 +3180,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong4Long4Long4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong4Long4Long4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUlongUlongUlong {
@@ -2730,9 +3222,9 @@
     }
 
     private void checkClampUlongUlongUlongUlong() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x2b378139749bf4c5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x75ac5050a8ca97fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x75ac4f99be99b85l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x749bf4c5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xa8ca97fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x9be99b85l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 1), INPUTSIZE);
@@ -2756,13 +3248,19 @@
 
     private void verifyResultsClampUlongUlongUlongUlong(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -2778,36 +3276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlongUlongUlongUlong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlongUlongUlongUlong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong2Ulong2Ulong2Ulong2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xa8c7fb17a09bb299l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x14e3c8dffe45623bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x14e3c8d48fa25441l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xa09bb299l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xfe45623bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x8fa25441l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
@@ -2831,13 +3337,19 @@
 
     private void verifyResultsClampUlong2Ulong2Ulong2Ulong2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2853,36 +3365,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong2Ulong2Ulong2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong2Ulong2Ulong2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong3Ulong3Ulong3Ulong3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x722c3c9fbd1e1f75l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x20d03c8e4cfc4c8fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x20d03c82de593e95l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xbd1e1f75l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x4cfc4c8fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xde593e95l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
@@ -2906,13 +3426,19 @@
 
     private void verifyResultsClampUlong3Ulong3Ulong3Ulong3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2928,36 +3454,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong3Ulong3Ulong3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong3Ulong3Ulong3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong4Ulong4Ulong4Ulong4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x3b907e27d9a08c51l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x2cbcb03c9bb336e3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x2cbcb0312d1028e9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xd9a08c51l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9bb336e3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x2d1028e9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
@@ -2981,13 +3515,19 @@
 
     private void verifyResultsClampUlong4Ulong4Ulong4Ulong4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3003,36 +3543,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong4Ulong4Ulong4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong4Ulong4Ulong4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar2CharCharChar2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd6884bbb7c57a5d1l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x3bf8830cc3b7db63l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x3bf883015514cd69l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x7c57a5d1l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xc3b7db63l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x5514cd69l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
@@ -3056,13 +3604,19 @@
 
     private void verifyResultsClampChar2CharCharChar2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3078,36 +3632,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar2CharCharChar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar2CharCharChar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar3CharCharChar3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x4aa68c1b65a26ee5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x8b4b9ea0492789dfl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x8b4b9e94da847be5l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x65a26ee5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x492789dfl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xda847be5l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
@@ -3131,13 +3693,19 @@
 
     private void verifyResultsClampChar3CharCharChar3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3153,36 +3721,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar3CharCharChar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar3CharCharChar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampChar4CharCharChar4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xbec4cc7b4eed37f9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xda9eba33ce97385bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xda9eba285ff42a61l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x4eed37f9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xce97385bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x5ff42a61l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
@@ -3206,13 +3782,19 @@
 
     private void verifyResultsClampChar4CharCharChar4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3228,36 +3810,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampChar4CharCharChar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampChar4CharCharChar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar2UcharUcharUchar2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xafd4a680f02e0d63l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x78bbbcb3e9402039l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x78bbbca87a9d123fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xf02e0d63l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xe9402039l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x7a9d123fl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
@@ -3281,13 +3871,19 @@
 
     private void verifyResultsClampUchar2UcharUcharUchar2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3303,36 +3899,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar2UcharUcharUchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar2UcharUcharUchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar3UcharUcharUchar3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xfedafacc68ea3ae9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x8371883e1c6e882bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x83718832adcb7a31l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x68ea3ae9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x1c6e882bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xadcb7a31l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
@@ -3356,13 +3960,19 @@
 
     private void verifyResultsClampUchar3UcharUcharUchar3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3378,36 +3988,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar3UcharUcharUchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar3UcharUcharUchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUchar4UcharUcharUchar4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x4de14f17e1a6686fl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x8e2753c84f9cf01dl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x8e2753bce0f9e223l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xe1a6686fl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x4f9cf01dl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xe0f9e223l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
@@ -3431,13 +4049,19 @@
 
     private void verifyResultsClampUchar4UcharUcharUchar4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayInMinValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (byte) 42);
         inMinValue.copyTo(arrayInMinValue);
         byte[] arrayInMaxValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (byte) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3453,36 +4077,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUchar4UcharUcharUchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUchar4UcharUcharUchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort2ShortShortShort2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x89e3627eae2d6a9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x886d6d2ccaca776bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x886d6d215c276971l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xeae2d6a9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xcaca776bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x5c276971l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
@@ -3506,13 +4138,19 @@
 
     private void verifyResultsClampShort2ShortShortShort2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3528,36 +4166,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort2ShortShortShort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort2ShortShortShort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort3ShortShortShort3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x57a48a73639f042fl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x932338b6fdf8df5dl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x932338ab8f55d163l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x639f042fl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xfdf8df5dl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x8f55d163l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
@@ -3581,13 +4227,19 @@
 
     private void verifyResultsClampShort3ShortShortShort3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3603,36 +4255,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort3ShortShortShort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort3ShortShortShort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampShort4ShortShortShort4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xa6aadebedc5b31b5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x9dd904413127474fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x9dd90435c2843955l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xdc5b31b5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x3127474fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xc2843955l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
@@ -3656,13 +4316,19 @@
 
     private void verifyResultsClampShort4ShortShortShort4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3678,36 +4344,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampShort4ShortShortShort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampShort4ShortShortShort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort2UshortUshortUshort2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2ece6d045621ef07l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xd88bd79cc7874965l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xd88bd79158e43b6bl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x5621ef07l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xc7874965l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x58e43b6bl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
@@ -3731,13 +4405,19 @@
 
     private void verifyResultsClampUshort2UshortUshortUshort2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3753,36 +4433,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort2UshortUshortUshort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort2UshortUshortUshort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort3UshortUshortUshort3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x393771467c9cd603l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xfe016431b3cf1419l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xfe016426452c061fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x7c9cd603l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xb3cf1419l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x452c061fl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
@@ -3806,13 +4494,19 @@
 
     private void verifyResultsClampUshort3UshortUshortUshort3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3828,36 +4522,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort3UshortUshortUshort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort3UshortUshortUshort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUshort4UshortUshortUshort4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x43a07588a317bcffl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x2376f0c6a016decdl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x2376f0bb3173d0d3l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xa317bcffl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xa016decdl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x3173d0d3l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
@@ -3881,13 +4583,19 @@
 
     private void verifyResultsClampUshort4UshortUshortUshort4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayInMinValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (short) 42);
         inMinValue.copyTo(arrayInMinValue);
         short[] arrayInMaxValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (short) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3903,36 +4611,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUshort4UshortUshortUshort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUshort4UshortUshortUshort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt2IntIntInt2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xbb55c0997906d1dbl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x69776e80fba24121l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x69776e758cff3327l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x7906d1dbl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xfba24121l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x8cff3327l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
@@ -3956,13 +4672,19 @@
 
     private void verifyResultsClampInt2IntIntInt2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3978,36 +4700,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt2IntIntInt2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt2IntIntInt2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt3IntIntInt3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x3af8924ab5370be9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xdde27628f1a08b2bl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xdde2761d82fd7d31l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xb5370be9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xf1a08b2bl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x82fd7d31l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
@@ -4031,13 +4761,19 @@
 
     private void verifyResultsClampInt3IntIntInt3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4053,36 +4789,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt3IntIntInt3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt3IntIntInt3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampInt4IntIntInt4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xba9b63fbf16745f7l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x524d7dd0e79ed535l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x524d7dc578fbc73bl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xf16745f7l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xe79ed535l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x78fbc73bl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
@@ -4106,13 +4850,19 @@
 
     private void verifyResultsClampInt4IntIntInt4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4128,36 +4878,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampInt4IntIntInt4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampInt4IntIntInt4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint2UintUintUint2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x4fd098dd770d5a51l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x6de3f327c2a180e3l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x6de3f31c53fe72e9l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x770d5a51l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xc2a180e3l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x53fe72e9l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
@@ -4181,13 +4939,19 @@
 
     private void verifyResultsClampUint2UintUintUint2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4203,36 +4967,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint2UintUintUint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint2UintUintUint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint3UintUintUint3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xc3eed93d60582365l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xbd370ebb48112f5fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xbd370eafd96e2165l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x60582365l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x48112f5fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xd96e2165l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
@@ -4256,13 +5028,19 @@
 
     private void verifyResultsClampUint3UintUintUint3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4278,36 +5056,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint3UintUintUint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint3UintUintUint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUint4UintUintUint4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x380d199d49a2ec79l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xc8a2a4ecd80dddbl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xc8a2a435eddcfe1l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x49a2ec79l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xcd80dddbl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x5eddcfe1l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
@@ -4331,13 +5117,19 @@
 
     private void verifyResultsClampUint4UintUintUint4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayInMinValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (int) 42);
         inMinValue.copyTo(arrayInMinValue);
         int[] arrayInMaxValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (int) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4353,36 +5145,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUint4UintUintUint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUint4UintUintUint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong2LongLongLong2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x19353a9f7c535bb5l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xee8dc7f38f83654fl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xee8dc7e820e05755l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7c535bb5l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x8f83654fl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x20e05755l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
@@ -4406,13 +5206,19 @@
 
     private void verifyResultsClampLong2LongLongLong2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4428,36 +5234,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong2LongLongLong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong2LongLongLong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong3LongLongLong3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x8d537aff659e24c9l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x3de0e38714f313cbl, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x3de0e37ba65005d1l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x659e24c9l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x14f313cbl, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xa65005d1l, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
@@ -4481,13 +5295,19 @@
 
     private void verifyResultsClampLong3LongLongLong3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4503,36 +5323,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong3LongLongLong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong3LongLongLong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampLong4LongLongLong4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x171bb5f4ee8edddl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x8d33ff1a9a62c247l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x8d33ff0f2bbfb44dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x4ee8edddl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x9a62c247l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x2bbfb44dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
@@ -4556,13 +5384,19 @@
 
     private void verifyResultsClampLong4LongLongLong4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4578,36 +5412,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampLong4LongLongLong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampLong4LongLongLong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong2UlongUlongUlong2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xf275dabaa7fa1bf7l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xf08a9e698d13b735l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xf08a9e5e1e70a93bl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xa7fa1bf7l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x8d13b735l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x1e70a93bl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
@@ -4631,13 +5473,19 @@
 
     private void verifyResultsClampUlong2UlongUlongUlong2(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4653,36 +5501,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong2UlongUlongUlong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong2UlongUlongUlong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong3UlongUlongUlong3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x417c2f0620b6497dl, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xfb4069f3c0421f27l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xfb4069e8519f112dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x20b6497dl, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xc0421f27l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x519f112dl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
@@ -4706,13 +5562,19 @@
 
     private void verifyResultsClampUlong3UlongUlongUlong3(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4728,36 +5590,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong3UlongUlongUlong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong3UlongUlongUlong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClampUlong4UlongUlongUlong4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9082835199727703l, false);
-        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x5f6357df3708719l, false);
-        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x5f6357284cd791fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x99727703l, false);
+        Allocation inMinValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0xf3708719l, false);
+        Allocation inMaxValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x84cd791fl, false);
         enforceOrdering(inMinValue, inMaxValue);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
@@ -4781,13 +5651,19 @@
 
     private void verifyResultsClampUlong4UlongUlongUlong4(Allocation inValue, Allocation inMinValue, Allocation inMaxValue, Allocation out, boolean relaxed) {
         long[] arrayInValue = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (long) 42);
         inValue.copyTo(arrayInValue);
         long[] arrayInMinValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMinValue, (long) 42);
         inMinValue.copyTo(arrayInMinValue);
         long[] arrayInMaxValue = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInMaxValue, (long) 42);
         inMaxValue.copyTo(arrayInMaxValue);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4803,30 +5679,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Input inMinValue: ");
-                    appendVariableToMessage(message, args.inMinValue);
-                    message.append("\n");
-                    message.append("Input inMaxValue: ");
-                    appendVariableToMessage(message, args.inMaxValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Input inMinValue: ");
+                        appendVariableToMessage(message, args.inMinValue);
+                        message.append("\n");
+                        message.append("Input inMaxValue: ");
+                        appendVariableToMessage(message, args.inMaxValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClampUlong4UlongUlongUlong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClampUlong4UlongUlongUlong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testClamp() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
index d9e7022..d2fe5df 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestClz.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestClz extends RSBaseCompute {
 
     private ScriptC_TestClz script;
@@ -40,7 +42,7 @@
     }
 
     private void checkClzCharChar() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xf6f3a15e2f7765afl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x2f7765afl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 1), INPUTSIZE);
             script.forEach_testClzCharChar(inValue, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsClzCharChar(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -75,28 +81,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzCharChar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzCharChar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzChar2Char2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xf718b99dcaca5e93l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xcaca5e93l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testClzChar2Char2(inValue, out);
@@ -115,9 +129,13 @@
 
     private void verifyResultsClzChar2Char2(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -131,28 +149,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzChar2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzChar2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzChar3Char3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x21a5da5bc7099347l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xc7099347l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testClzChar3Char3(inValue, out);
@@ -171,9 +197,13 @@
 
     private void verifyResultsClzChar3Char3(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -187,28 +217,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzChar3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzChar3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzChar4Char4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x4c32fb19c348c7fbl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xc348c7fbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testClzChar4Char4(inValue, out);
@@ -227,9 +265,13 @@
 
     private void verifyResultsClzChar4Char4(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -243,24 +285,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzChar4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzChar4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUchar {
@@ -269,7 +319,7 @@
     }
 
     private void checkClzUcharUchar() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0xd2e451b48b84f57fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x8b84f57fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 1), INPUTSIZE);
             script.forEach_testClzUcharUchar(inValue, out);
@@ -288,9 +338,13 @@
 
     private void verifyResultsClzUcharUchar(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -304,28 +358,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUcharUchar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUcharUchar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUchar2Uchar2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x792e2970f47ebc85l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xf47ebc85l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testClzUchar2Uchar2(inValue, out);
@@ -344,9 +406,13 @@
 
     private void verifyResultsClzUchar2Uchar2(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -360,28 +426,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUchar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUchar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUchar3Uchar3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x9ee29ef83dbce203l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x3dbce203l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testClzUchar3Uchar3(inValue, out);
@@ -400,9 +474,13 @@
 
     private void verifyResultsClzUchar3Uchar3(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -416,28 +494,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUchar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUchar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUchar4Uchar4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xc497147f86fb0781l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x86fb0781l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testClzUchar4Uchar4(inValue, out);
@@ -456,9 +542,13 @@
 
     private void verifyResultsClzUchar4Uchar4(Allocation inValue, Allocation out, boolean relaxed) {
         byte[] arrayInValue = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (byte) 42);
         inValue.copyTo(arrayInValue);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -472,24 +562,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUchar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUchar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortShort {
@@ -498,7 +596,7 @@
     }
 
     private void checkClzShortShort() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x3290aea900d8ad53l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xd8ad53l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 1), INPUTSIZE);
             script.forEach_testClzShortShort(inValue, out);
@@ -517,9 +615,13 @@
 
     private void verifyResultsClzShortShort(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -533,28 +635,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzShortShort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzShortShort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzShort2Short2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x81f69d4442dd6ebfl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x42dd6ebfl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testClzShort2Short2(inValue, out);
@@ -573,9 +683,13 @@
 
     private void verifyResultsClzShort2Short2(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -589,28 +703,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzShort2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzShort2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzShort3Short3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xa7ab12cb8c1b943dl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x8c1b943dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testClzShort3Short3(inValue, out);
@@ -629,9 +751,13 @@
 
     private void verifyResultsClzShort3Short3(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -645,28 +771,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzShort3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzShort3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzShort4Short4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xcd5f8852d559b9bbl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xd559b9bbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testClzShort4Short4(inValue, out);
@@ -685,9 +819,13 @@
 
     private void verifyResultsClzShort4Short4(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -701,24 +839,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzShort4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzShort4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUshort {
@@ -727,7 +873,7 @@
     }
 
     private void checkClzUshortUshort() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x97bdeee92c0103a5l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x2c0103a5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 1), INPUTSIZE);
             script.forEach_testClzUshortUshort(inValue, out);
@@ -746,9 +892,13 @@
 
     private void verifyResultsClzUshortUshort(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -762,28 +912,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUshortUshort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUshortUshort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUshort2Ushort2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x5ea7a024b2913837l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xb2913837l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testClzUshort2Ushort2(inValue, out);
@@ -802,9 +960,13 @@
 
     private void verifyResultsClzUshort2Ushort2(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -818,28 +980,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUshort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUshort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUshort3Ushort3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xb3f7537beaa1cfa3l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xeaa1cfa3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testClzUshort3Ushort3(inValue, out);
@@ -858,9 +1028,13 @@
 
     private void verifyResultsClzUshort3Ushort3(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -874,28 +1048,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUshort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUshort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUshort4Ushort4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x94706d322b2670fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x22b2670fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testClzUshort4Ushort4(inValue, out);
@@ -914,9 +1096,13 @@
 
     private void verifyResultsClzUshort4Ushort4(Allocation inValue, Allocation out, boolean relaxed) {
         short[] arrayInValue = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (short) 42);
         inValue.copyTo(arrayInValue);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -930,24 +1116,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUshort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUshort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntInt {
@@ -956,7 +1150,7 @@
     }
 
     private void checkClzIntInt() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xb13809da3142eb97l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x3142eb97l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             script.forEach_testClzIntInt(inValue, out);
@@ -975,9 +1169,13 @@
 
     private void verifyResultsClzIntInt(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -991,28 +1189,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzIntInt" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzIntInt" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzInt2Int2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xc9fd2c1a27fe3ad5l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x27fe3ad5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testClzInt2Int2(inValue, out);
@@ -1031,9 +1237,13 @@
 
     private void verifyResultsClzInt2Int2(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1047,28 +1257,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzInt2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzInt2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzInt3Int3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xd6e2b014f2d24c2bl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xf2d24c2bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testClzInt3Int3(inValue, out);
@@ -1087,9 +1305,13 @@
 
     private void verifyResultsClzInt3Int3(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1103,28 +1325,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzInt3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzInt3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzInt4Int4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xe3c8340fbda65d81l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xbda65d81l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testClzInt4Int4(inValue, out);
@@ -1143,9 +1373,13 @@
 
     private void verifyResultsClzInt4Int4(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1159,24 +1393,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzInt4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzInt4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUint {
@@ -1185,7 +1427,7 @@
     }
 
     private void checkClzUintUint() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x64a0b78a75ac502fl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x75ac502fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 1), INPUTSIZE);
             script.forEach_testClzUintUint(inValue, out);
@@ -1204,9 +1446,13 @@
 
     private void verifyResultsClzUintUint(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1220,28 +1466,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUintUint" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUintUint" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUint2Uint2() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xf809b50329344f93l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x29344f93l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testClzUint2Uint2(inValue, out);
@@ -1260,9 +1514,13 @@
 
     private void verifyResultsClzUint2Uint2(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1276,28 +1534,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUint2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUint2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUint3Uint3() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x2296d5c125738447l, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x25738447l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testClzUint3Uint3(inValue, out);
@@ -1316,9 +1582,13 @@
 
     private void verifyResultsClzUint3Uint3(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1332,28 +1602,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUint3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUint3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkClzUint4Uint4() {
-        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x4d23f67f21b2b8fbl, false);
+        Allocation inValue = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x21b2b8fbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testClzUint4Uint4(inValue, out);
@@ -1372,9 +1650,13 @@
 
     private void verifyResultsClzUint4Uint4(Allocation inValue, Allocation out, boolean relaxed) {
         int[] arrayInValue = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInValue, (int) 42);
         inValue.copyTo(arrayInValue);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1388,24 +1670,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inValue: ");
-                    appendVariableToMessage(message, args.inValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inValue: ");
+                        appendVariableToMessage(message, args.inValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkClzUint4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkClzUint4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testClz() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
index 8d09dd4..0db6576 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestConvert.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestConvert extends RSBaseCompute {
 
     private ScriptC_TestConvert script;
@@ -40,7 +42,7 @@
     }
 
     private void checkConvertFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfb5215c44e1f6ac6l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4e1f6ac6l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Float2Float2(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsConvertFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb53dedf443a8ba4l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x443a8ba4l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Float3Float3(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsConvertFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfb55a7fa3a55ac82l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3a55ac82l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Float4Float4(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsConvertFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -190,24 +220,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharFloat {
@@ -216,7 +254,7 @@
     }
 
     private void checkConvertChar2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x5861e2161f489286l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x1f489286l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Char2Float2(inV, out);
@@ -235,9 +273,13 @@
 
     private void verifyResultsConvertChar2Float2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -252,28 +294,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x5863ab311563b364l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x1563b364l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Char3Float3(inV, out);
@@ -292,9 +342,13 @@
 
     private void verifyResultsConvertChar3Float3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -309,28 +363,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x5865744c0b7ed442l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xb7ed442l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Char4Float4(inV, out);
@@ -349,9 +411,13 @@
 
     private void verifyResultsConvertChar4Float4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -366,24 +432,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharFloat {
@@ -392,7 +466,7 @@
     }
 
     private void checkConvertUchar2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7d30021dbb20ac31l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xbb20ac31l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Uchar2Float2(inV, out);
@@ -411,9 +485,13 @@
 
     private void verifyResultsConvertUchar2Float2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -428,28 +506,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7d31cb38b13bcd0fl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xb13bcd0fl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Uchar3Float3(inV, out);
@@ -468,9 +554,13 @@
 
     private void verifyResultsConvertUchar3Float3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -485,28 +575,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7d339453a756ededl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xa756ededl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Uchar4Float4(inV, out);
@@ -525,9 +623,13 @@
 
     private void verifyResultsConvertUchar4Float4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -542,24 +644,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortFloat {
@@ -568,7 +678,7 @@
     }
 
     private void checkConvertShort2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x94ca184eff219172l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xff219172l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Short2Float2(inV, out);
@@ -587,9 +697,13 @@
 
     private void verifyResultsConvertShort2Float2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -604,28 +718,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x94cbe169f53cb250l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xf53cb250l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Short3Float3(inV, out);
@@ -644,9 +766,13 @@
 
     private void verifyResultsConvertShort3Float3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -661,28 +787,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x94cdaa84eb57d32el, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xeb57d32el, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Short4Float4(inV, out);
@@ -701,9 +835,13 @@
 
     private void verifyResultsConvertShort4Float4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -718,24 +856,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortFloat {
@@ -744,7 +890,7 @@
     }
 
     private void checkConvertUshort2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xc36979962c6de12bl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2c6de12bl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Ushort2Float2(inV, out);
@@ -763,9 +909,13 @@
 
     private void verifyResultsConvertUshort2Float2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -780,28 +930,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xc36b42b122890209l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x22890209l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Ushort3Float3(inV, out);
@@ -820,9 +978,13 @@
 
     private void verifyResultsConvertUshort3Float3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -837,28 +999,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc36d0bcc18a422e7l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x18a422e7l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Ushort4Float4(inV, out);
@@ -877,9 +1047,13 @@
 
     private void verifyResultsConvertUshort4Float4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -894,24 +1068,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntFloat {
@@ -920,7 +1102,7 @@
     }
 
     private void checkConvertInt2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x2a52c7eb7402bfc5l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x7402bfc5l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Int2Float2(inV, out);
@@ -939,9 +1121,13 @@
 
     private void verifyResultsConvertInt2Float2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -956,28 +1142,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x2a5491066a1de0a3l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x6a1de0a3l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Int3Float3(inV, out);
@@ -996,9 +1190,13 @@
 
     private void verifyResultsConvertInt3Float3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1013,28 +1211,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x2a565a2160390181l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x60390181l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Int4Float4(inV, out);
@@ -1053,9 +1259,13 @@
 
     private void verifyResultsConvertInt4Float4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1070,24 +1280,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintFloat {
@@ -1096,7 +1314,7 @@
     }
 
     private void checkConvertUint2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xd1e081390684cc46l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x684cc46l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Uint2Float2(inV, out);
@@ -1115,9 +1333,13 @@
 
     private void verifyResultsConvertUint2Float2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1132,28 +1354,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xd1e24a53fc9fed24l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xfc9fed24l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Uint3Float3(inV, out);
@@ -1172,9 +1402,13 @@
 
     private void verifyResultsConvertUint3Float3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1189,28 +1423,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xd1e4136ef2bb0e02l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xf2bb0e02l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Uint4Float4(inV, out);
@@ -1229,9 +1471,13 @@
 
     private void verifyResultsConvertUint4Float4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1246,24 +1492,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatChar {
@@ -1272,7 +1526,7 @@
     }
 
     private void checkConvertFloat2Char2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x239cb25829789662l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x29789662l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Float2Char2(inV, out);
@@ -1291,9 +1545,13 @@
 
     private void verifyResultsConvertFloat2Char2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1307,28 +1565,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Char3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x239cbcf988805b56l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x88805b56l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Float3Char3(inV, out);
@@ -1347,9 +1613,13 @@
 
     private void verifyResultsConvertFloat3Char3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1363,28 +1633,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Char4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x239cc79ae788204al, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe788204al, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Float4Char4(inV, out);
@@ -1403,9 +1681,13 @@
 
     private void verifyResultsConvertFloat4Char4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1419,24 +1701,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharChar {
@@ -1445,7 +1735,7 @@
     }
 
     private void checkConvertChar2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd8618777d5086da2l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd5086da2l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Char2Char2(inV, out);
@@ -1464,9 +1754,13 @@
 
     private void verifyResultsConvertChar2Char2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1480,28 +1774,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd861921934103296l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x34103296l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Char3Char3(inV, out);
@@ -1520,9 +1822,13 @@
 
     private void verifyResultsConvertChar3Char3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1536,28 +1842,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd8619cba9317f78al, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x9317f78al, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Char4Char4(inV, out);
@@ -1576,9 +1890,13 @@
 
     private void verifyResultsConvertChar4Char4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1592,24 +1910,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharChar {
@@ -1618,7 +1944,7 @@
     }
 
     private void checkConvertUchar2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7fef40c5678a7a23l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x678a7a23l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Uchar2Char2(inV, out);
@@ -1637,9 +1963,13 @@
 
     private void verifyResultsConvertUchar2Char2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1653,28 +1983,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7fef4b66c6923f17l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xc6923f17l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Uchar3Char3(inV, out);
@@ -1693,9 +2031,13 @@
 
     private void verifyResultsConvertUchar3Char3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1709,28 +2051,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7fef5608259a040bl, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x259a040bl, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Uchar4Char4(inV, out);
@@ -1749,9 +2099,13 @@
 
     private void verifyResultsConvertUchar4Char4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1765,24 +2119,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortChar {
@@ -1791,7 +2153,7 @@
     }
 
     private void checkConvertShort2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x68ab650215c60866l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x15c60866l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Short2Char2(inV, out);
@@ -1810,9 +2172,13 @@
 
     private void verifyResultsConvertShort2Char2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1826,28 +2192,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x68ab6fa374cdcd5al, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x74cdcd5al, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Short3Char3(inV, out);
@@ -1866,9 +2240,13 @@
 
     private void verifyResultsConvertShort3Char3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1882,28 +2260,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x68ab7a44d3d5924el, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xd3d5924el, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Short4Char4(inV, out);
@@ -1922,9 +2308,13 @@
 
     private void verifyResultsConvertShort4Char4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1938,24 +2328,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortChar {
@@ -1964,7 +2362,7 @@
     }
 
     private void checkConvertUshort2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x8d798509b19e2211l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xb19e2211l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Ushort2Char2(inV, out);
@@ -1983,9 +2381,13 @@
 
     private void verifyResultsConvertUshort2Char2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1999,28 +2401,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x8d798fab10a5e705l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x10a5e705l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Ushort3Char3(inV, out);
@@ -2039,9 +2449,13 @@
 
     private void verifyResultsConvertUshort3Char3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2055,28 +2469,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x8d799a4c6fadabf9l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x6fadabf9l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Ushort4Char4(inV, out);
@@ -2095,9 +2517,13 @@
 
     private void verifyResultsConvertUshort4Char4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2111,24 +2537,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntChar {
@@ -2137,7 +2571,7 @@
     }
 
     private void checkConvertInt2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xd74f5147364256dfl, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x364256dfl, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Int2Char2(inV, out);
@@ -2156,9 +2590,13 @@
 
     private void verifyResultsConvertInt2Char2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2172,28 +2610,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xd74f5be8954a1bd3l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x954a1bd3l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Int3Char3(inV, out);
@@ -2212,9 +2658,13 @@
 
     private void verifyResultsConvertInt3Char3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2228,28 +2678,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xd74f6689f451e0c7l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xf451e0c7l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Int4Char4(inV, out);
@@ -2268,9 +2726,13 @@
 
     private void verifyResultsConvertInt4Char4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2284,24 +2746,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintChar {
@@ -2310,7 +2780,7 @@
     }
 
     private void checkConvertUint2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xe71d083133b67ae2l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x33b67ae2l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Uint2Char2(inV, out);
@@ -2329,9 +2799,13 @@
 
     private void verifyResultsConvertUint2Char2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2345,28 +2819,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe71d12d292be3fd6l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x92be3fd6l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Uint3Char3(inV, out);
@@ -2385,9 +2867,13 @@
 
     private void verifyResultsConvertUint3Char3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2401,28 +2887,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xe71d1d73f1c604cal, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xf1c604cal, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Uint4Char4(inV, out);
@@ -2441,9 +2935,13 @@
 
     private void verifyResultsConvertUint4Char4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2457,24 +2955,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatUchar {
@@ -2483,7 +2989,7 @@
     }
 
     private void checkConvertFloat2Uchar2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfb52b2f4fac15b79l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfac15b79l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Float2Uchar2(inV, out);
@@ -2502,9 +3008,13 @@
 
     private void verifyResultsConvertFloat2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2518,28 +3028,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Uchar3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb547c0ff0dc7c57l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf0dc7c57l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Float3Uchar3(inV, out);
@@ -2558,9 +3076,13 @@
 
     private void verifyResultsConvertFloat3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2574,28 +3096,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Uchar4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfb56452ae6f79d35l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe6f79d35l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Float4Uchar4(inV, out);
@@ -2614,9 +3144,13 @@
 
     private void verifyResultsConvertFloat4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2630,24 +3164,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharUchar {
@@ -2656,7 +3198,7 @@
     }
 
     private void checkConvertChar2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x58627f46cbea8339l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xcbea8339l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Char2Uchar2(inV, out);
@@ -2675,9 +3217,13 @@
 
     private void verifyResultsConvertChar2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2691,28 +3237,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x58644861c205a417l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xc205a417l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Char3Uchar3(inV, out);
@@ -2731,9 +3285,13 @@
 
     private void verifyResultsConvertChar3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2747,28 +3305,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x5866117cb820c4f5l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xb820c4f5l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Char4Uchar4(inV, out);
@@ -2787,9 +3353,13 @@
 
     private void verifyResultsConvertChar4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2803,24 +3373,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUchar {
@@ -2829,7 +3407,7 @@
     }
 
     private void checkConvertUchar2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7d309f4e67c29ce4l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x67c29ce4l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Uchar2Uchar2(inV, out);
@@ -2848,9 +3426,13 @@
 
     private void verifyResultsConvertUchar2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2864,28 +3446,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7d3268695dddbdc2l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x5dddbdc2l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Uchar3Uchar3(inV, out);
@@ -2904,9 +3494,13 @@
 
     private void verifyResultsConvertUchar3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2920,28 +3514,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7d34318453f8dea0l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x53f8dea0l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Uchar4Uchar4(inV, out);
@@ -2960,9 +3562,13 @@
 
     private void verifyResultsConvertUchar4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2976,24 +3582,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortUchar {
@@ -3002,7 +3616,7 @@
     }
 
     private void checkConvertShort2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x94cab57fabc38225l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xabc38225l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Short2Uchar2(inV, out);
@@ -3021,9 +3635,13 @@
 
     private void verifyResultsConvertShort2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3037,28 +3655,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x94cc7e9aa1dea303l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xa1dea303l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Short3Uchar3(inV, out);
@@ -3077,9 +3703,13 @@
 
     private void verifyResultsConvertShort3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3093,28 +3723,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x94ce47b597f9c3e1l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x97f9c3e1l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Short4Uchar4(inV, out);
@@ -3133,9 +3771,13 @@
 
     private void verifyResultsConvertShort4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3149,24 +3791,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUchar {
@@ -3175,7 +3825,7 @@
     }
 
     private void checkConvertUshort2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xc36a16c6d90fd1del, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xd90fd1del, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Ushort2Uchar2(inV, out);
@@ -3194,9 +3844,13 @@
 
     private void verifyResultsConvertUshort2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3210,28 +3864,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xc36bdfe1cf2af2bcl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xcf2af2bcl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Ushort3Uchar3(inV, out);
@@ -3250,9 +3912,13 @@
 
     private void verifyResultsConvertUshort3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3266,28 +3932,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc36da8fcc546139al, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc546139al, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Ushort4Uchar4(inV, out);
@@ -3306,9 +3980,13 @@
 
     private void verifyResultsConvertUshort4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3322,24 +4000,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntUchar {
@@ -3348,7 +4034,7 @@
     }
 
     private void checkConvertInt2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x2a53651c20a4b078l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x20a4b078l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Int2Uchar2(inV, out);
@@ -3367,9 +4053,13 @@
 
     private void verifyResultsConvertInt2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3383,28 +4073,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x2a552e3716bfd156l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x16bfd156l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Int3Uchar3(inV, out);
@@ -3423,9 +4121,13 @@
 
     private void verifyResultsConvertInt3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3439,28 +4141,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x2a56f7520cdaf234l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xcdaf234l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Int4Uchar4(inV, out);
@@ -3479,9 +4189,13 @@
 
     private void verifyResultsConvertInt4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3495,24 +4209,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUchar {
@@ -3521,7 +4243,7 @@
     }
 
     private void checkConvertUint2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xd1e11e69b326bcf9l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xb326bcf9l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Uint2Uchar2(inV, out);
@@ -3540,9 +4262,13 @@
 
     private void verifyResultsConvertUint2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3556,28 +4282,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xd1e2e784a941ddd7l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xa941ddd7l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Uint3Uchar3(inV, out);
@@ -3596,9 +4330,13 @@
 
     private void verifyResultsConvertUint3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3612,28 +4350,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xd1e4b09f9f5cfeb5l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x9f5cfeb5l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Uint4Uchar4(inV, out);
@@ -3652,9 +4398,13 @@
 
     private void verifyResultsConvertUint4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3668,24 +4418,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatShort {
@@ -3694,7 +4452,7 @@
     }
 
     private void checkConvertFloat2Short2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfb529ef98fcf2692l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8fcf2692l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Float2Short2(inV, out);
@@ -3713,9 +4471,13 @@
 
     private void verifyResultsConvertFloat2Short2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3729,28 +4491,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Short3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb54681485ea4770l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x85ea4770l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Float3Short3(inV, out);
@@ -3769,9 +4539,13 @@
 
     private void verifyResultsConvertFloat3Short3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3785,28 +4559,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Short4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfb56312f7c05684el, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7c05684el, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Float4Short4(inV, out);
@@ -3825,9 +4607,13 @@
 
     private void verifyResultsConvertFloat4Short4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -3841,24 +4627,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharShort {
@@ -3867,7 +4661,7 @@
     }
 
     private void checkConvertChar2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x58626b4b60f84e52l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x60f84e52l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Char2Short2(inV, out);
@@ -3886,9 +4680,13 @@
 
     private void verifyResultsConvertChar2Short2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -3902,28 +4700,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x5864346657136f30l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x57136f30l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Char3Short3(inV, out);
@@ -3942,9 +4748,13 @@
 
     private void verifyResultsConvertChar3Short3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -3958,28 +4768,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x5865fd814d2e900el, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x4d2e900el, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Char4Short4(inV, out);
@@ -3998,9 +4816,13 @@
 
     private void verifyResultsConvertChar4Short4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4014,24 +4836,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharShort {
@@ -4040,7 +4870,7 @@
     }
 
     private void checkConvertUchar2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7d308b52fcd067fdl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xfcd067fdl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Uchar2Short2(inV, out);
@@ -4059,9 +4889,13 @@
 
     private void verifyResultsConvertUchar2Short2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4075,28 +4909,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7d32546df2eb88dbl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xf2eb88dbl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Uchar3Short3(inV, out);
@@ -4115,9 +4957,13 @@
 
     private void verifyResultsConvertUchar3Short3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4131,28 +4977,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7d341d88e906a9b9l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xe906a9b9l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Uchar4Short4(inV, out);
@@ -4171,9 +5025,13 @@
 
     private void verifyResultsConvertUchar4Short4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4187,24 +5045,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortShort {
@@ -4213,7 +5079,7 @@
     }
 
     private void checkConvertShort2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x94caa18440d14d3el, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x40d14d3el, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Short2Short2(inV, out);
@@ -4232,9 +5098,13 @@
 
     private void verifyResultsConvertShort2Short2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4248,28 +5118,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x94cc6a9f36ec6e1cl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x36ec6e1cl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Short3Short3(inV, out);
@@ -4288,9 +5166,13 @@
 
     private void verifyResultsConvertShort3Short3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4304,28 +5186,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x94ce33ba2d078efal, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x2d078efal, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Short4Short4(inV, out);
@@ -4344,9 +5234,13 @@
 
     private void verifyResultsConvertShort4Short4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4360,24 +5254,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortShort {
@@ -4386,7 +5288,7 @@
     }
 
     private void checkConvertUshort2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xc36a02cb6e1d9cf7l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x6e1d9cf7l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Ushort2Short2(inV, out);
@@ -4405,9 +5307,13 @@
 
     private void verifyResultsConvertUshort2Short2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4421,28 +5327,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xc36bcbe66438bdd5l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x6438bdd5l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Ushort3Short3(inV, out);
@@ -4461,9 +5375,13 @@
 
     private void verifyResultsConvertUshort3Short3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4477,28 +5395,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc36d95015a53deb3l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x5a53deb3l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Ushort4Short4(inV, out);
@@ -4517,9 +5443,13 @@
 
     private void verifyResultsConvertUshort4Short4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4533,24 +5463,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntShort {
@@ -4559,7 +5497,7 @@
     }
 
     private void checkConvertInt2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x2a535120b5b27b91l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xb5b27b91l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Int2Short2(inV, out);
@@ -4578,9 +5516,13 @@
 
     private void verifyResultsConvertInt2Short2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4594,28 +5536,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x2a551a3babcd9c6fl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xabcd9c6fl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Int3Short3(inV, out);
@@ -4634,9 +5584,13 @@
 
     private void verifyResultsConvertInt3Short3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4650,28 +5604,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x2a56e356a1e8bd4dl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xa1e8bd4dl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Int4Short4(inV, out);
@@ -4690,9 +5652,13 @@
 
     private void verifyResultsConvertInt4Short4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4706,24 +5672,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintShort {
@@ -4732,7 +5706,7 @@
     }
 
     private void checkConvertUint2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xd1e10a6e48348812l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x48348812l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Uint2Short2(inV, out);
@@ -4751,9 +5725,13 @@
 
     private void verifyResultsConvertUint2Short2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4767,28 +5745,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xd1e2d3893e4fa8f0l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x3e4fa8f0l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Uint3Short3(inV, out);
@@ -4807,9 +5793,13 @@
 
     private void verifyResultsConvertUint3Short3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4823,28 +5813,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xd1e49ca4346ac9cel, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x346ac9cel, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Uint4Short4(inV, out);
@@ -4863,9 +5861,13 @@
 
     private void verifyResultsConvertUint4Short4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -4879,24 +5881,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatUshort {
@@ -4905,7 +5915,7 @@
     }
 
     private void checkConvertFloat2Ushort2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x36e4b950b708416fl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb708416fl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Float2Ushort2(inV, out);
@@ -4924,9 +5934,13 @@
 
     private void verifyResultsConvertFloat2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -4940,28 +5954,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Ushort3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x373180d80d63d29bl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd63d29bl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Float3Ushort3(inV, out);
@@ -4980,9 +6002,13 @@
 
     private void verifyResultsConvertFloat3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -4996,28 +6022,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Ushort4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x377e485f63bf63c7l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x63bf63c7l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Float4Ushort4(inV, out);
@@ -5036,9 +6070,13 @@
 
     private void verifyResultsConvertFloat4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5052,24 +6090,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharUshort {
@@ -5078,7 +6124,7 @@
     }
 
     private void checkConvertChar2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd88c0b0ed8f1eeafl, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd8f1eeafl, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Char2Ushort2(inV, out);
@@ -5097,9 +6143,13 @@
 
     private void verifyResultsConvertChar2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5113,28 +6163,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd8d8d2962f4d7fdbl, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x2f4d7fdbl, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Char3Ushort3(inV, out);
@@ -5153,9 +6211,13 @@
 
     private void verifyResultsConvertChar3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -5169,28 +6231,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd9259a1d85a91107l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x85a91107l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Char4Ushort4(inV, out);
@@ -5209,9 +6279,13 @@
 
     private void verifyResultsConvertChar4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5225,24 +6299,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUshort {
@@ -5251,7 +6333,7 @@
     }
 
     private void checkConvertUchar2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x72b6c56063e3e68l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x63e3e68l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Uchar2Ushort2(inV, out);
@@ -5270,9 +6352,13 @@
 
     private void verifyResultsConvertUchar2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5286,28 +6372,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x77833dd5c99cf94l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x5c99cf94l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Uchar3Ushort3(inV, out);
@@ -5326,9 +6420,13 @@
 
     private void verifyResultsConvertUchar3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -5342,28 +6440,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7c4fb64b2f560c0l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xb2f560c0l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Uchar4Ushort4(inV, out);
@@ -5382,9 +6488,13 @@
 
     private void verifyResultsConvertUchar4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5398,24 +6508,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortUshort {
@@ -5424,7 +6542,7 @@
     }
 
     private void checkConvertShort2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xfe0d269c7264c053l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x7264c053l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Short2Ushort2(inV, out);
@@ -5443,9 +6561,13 @@
 
     private void verifyResultsConvertShort2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5459,28 +6581,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xfe59ee23c8c0517fl, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xc8c0517fl, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Short3Ushort3(inV, out);
@@ -5499,9 +6629,13 @@
 
     private void verifyResultsConvertShort3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -5515,28 +6649,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xfea6b5ab1f1be2abl, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x1f1be2abl, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Short4Ushort4(inV, out);
@@ -5555,9 +6697,13 @@
 
     private void verifyResultsConvertShort4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5571,24 +6717,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUshort {
@@ -5597,7 +6751,7 @@
     }
 
     private void checkConvertUshort2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xd2d27d910e362466l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xe362466l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Ushort2Ushort2(inV, out);
@@ -5616,9 +6770,13 @@
 
     private void verifyResultsConvertUshort2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5632,28 +6790,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xd31f45186491b592l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x6491b592l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Ushort3Ushort3(inV, out);
@@ -5672,9 +6838,13 @@
 
     private void verifyResultsConvertUshort3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -5688,28 +6858,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xd36c0c9fbaed46bel, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xbaed46bel, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Ushort4Ushort4(inV, out);
@@ -5728,9 +6906,13 @@
 
     private void verifyResultsConvertUshort4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5744,24 +6926,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntUshort {
@@ -5770,7 +6960,7 @@
     }
 
     private void checkConvertInt2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x1c02a5e414378844l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x14378844l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Int2Ushort2(inV, out);
@@ -5789,9 +6979,13 @@
 
     private void verifyResultsConvertInt2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5805,28 +6999,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x1c4f6d6b6a931970l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x6a931970l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Int3Ushort3(inV, out);
@@ -5845,9 +7047,13 @@
 
     private void verifyResultsConvertInt3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -5861,28 +7067,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x1c9c34f2c0eeaa9cl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xc0eeaa9cl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Int4Ushort4(inV, out);
@@ -5901,9 +7115,13 @@
 
     private void verifyResultsConvertInt4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -5917,24 +7135,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUshort {
@@ -5943,7 +7169,7 @@
     }
 
     private void checkConvertUint2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x40d0c5ebb00fa1efl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xb00fa1efl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Uint2Ushort2(inV, out);
@@ -5962,9 +7188,13 @@
 
     private void verifyResultsConvertUint2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -5978,28 +7208,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x411d8d73066b331bl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x66b331bl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Uint3Ushort3(inV, out);
@@ -6018,9 +7256,13 @@
 
     private void verifyResultsConvertUint3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6034,28 +7276,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x416a54fa5cc6c447l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x5cc6c447l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Uint4Ushort4(inV, out);
@@ -6074,9 +7324,13 @@
 
     private void verifyResultsConvertUint4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6090,24 +7344,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatInt {
@@ -6116,7 +7378,7 @@
     }
 
     private void checkConvertFloat2Int2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8fb63fb7c069dd5dl, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc069dd5dl, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Float2Int2(inV, out);
@@ -6135,9 +7397,13 @@
 
     private void verifyResultsConvertFloat2Int2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -6151,28 +7417,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Int3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8fb63ff70a11ed93l, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa11ed93l, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Float3Int3(inV, out);
@@ -6191,9 +7465,13 @@
 
     private void verifyResultsConvertFloat3Int3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6207,28 +7485,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Int4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8fb6403653b9fdc9l, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x53b9fdc9l, -2.1474835210000000000e+09, 2.1474835200000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Float4Int4(inV, out);
@@ -6247,9 +7533,13 @@
 
     private void verifyResultsConvertFloat4Int4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6263,24 +7553,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharInt {
@@ -6289,7 +7587,7 @@
     }
 
     private void checkConvertChar2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x880244ac94c6831dl, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x94c6831dl, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Char2Int2(inV, out);
@@ -6308,9 +7606,13 @@
 
     private void verifyResultsConvertChar2Int2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -6324,28 +7626,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x880244ebde6e9353l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xde6e9353l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Char3Int3(inV, out);
@@ -6364,9 +7674,13 @@
 
     private void verifyResultsConvertChar3Int3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6380,28 +7694,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x8802452b2816a389l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x2816a389l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Char4Int4(inV, out);
@@ -6420,9 +7742,13 @@
 
     private void verifyResultsConvertChar4Int4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6436,24 +7762,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharInt {
@@ -6462,7 +7796,7 @@
     }
 
     private void checkConvertUchar2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x97cffb96923aa720l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x923aa720l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Uchar2Int2(inV, out);
@@ -6481,9 +7815,13 @@
 
     private void verifyResultsConvertUchar2Int2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -6497,28 +7835,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x97cffbd5dbe2b756l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xdbe2b756l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Uchar3Int3(inV, out);
@@ -6537,9 +7883,13 @@
 
     private void verifyResultsConvertUchar3Int3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6553,28 +7903,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x97cffc15258ac78cl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x258ac78cl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Uchar4Int4(inV, out);
@@ -6593,9 +7951,13 @@
 
     private void verifyResultsConvertUchar4Int4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6609,24 +7971,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortInt {
@@ -6635,7 +8005,7 @@
     }
 
     private void checkConvertShort2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x85693203252a2d69l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x252a2d69l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Short2Int2(inV, out);
@@ -6654,9 +8024,13 @@
 
     private void verifyResultsConvertShort2Int2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -6670,28 +8044,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x856932426ed23d9fl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x6ed23d9fl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Short3Int3(inV, out);
@@ -6710,9 +8092,13 @@
 
     private void verifyResultsConvertShort3Int3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6726,28 +8112,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x85693281b87a4dd5l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xb87a4dd5l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Short4Int4(inV, out);
@@ -6766,9 +8160,13 @@
 
     private void verifyResultsConvertShort4Int4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6782,24 +8180,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortInt {
@@ -6808,7 +8214,7 @@
     }
 
     private void checkConvertUshort2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2cf6eb50b7ac39eal, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xb7ac39eal, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Ushort2Int2(inV, out);
@@ -6827,9 +8233,13 @@
 
     private void verifyResultsConvertUshort2Int2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -6843,28 +8253,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x2cf6eb9001544a20l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x1544a20l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Ushort3Int3(inV, out);
@@ -6883,9 +8301,13 @@
 
     private void verifyResultsConvertUshort3Int3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -6899,28 +8321,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x2cf6ebcf4afc5a56l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x4afc5a56l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Ushort4Int4(inV, out);
@@ -6939,9 +8369,13 @@
 
     private void verifyResultsConvertUshort4Int4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -6955,24 +8389,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntInt {
@@ -6981,7 +8423,7 @@
     }
 
     private void checkConvertInt2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x501d84049a42354l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x49a42354l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Int2Int2(inV, out);
@@ -7000,9 +8442,13 @@
 
     private void verifyResultsConvertInt2Int2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7016,28 +8462,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x501d87f934c338al, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x934c338al, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Int3Int3(inV, out);
@@ -7056,9 +8510,13 @@
 
     private void verifyResultsConvertInt3Int3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7072,28 +8530,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x501d8bedcf443c0l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xdcf443c0l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Int4Int4(inV, out);
@@ -7112,9 +8578,13 @@
 
     private void verifyResultsConvertInt4Int4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7128,24 +8598,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintInt {
@@ -7154,7 +8632,7 @@
     }
 
     private void checkConvertUint2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x70899b043daccaddl, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x3daccaddl, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Uint2Int2(inV, out);
@@ -7173,9 +8651,13 @@
 
     private void verifyResultsConvertUint2Int2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7189,28 +8671,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x70899b438754db13l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x8754db13l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Uint3Int3(inV, out);
@@ -7229,9 +8719,13 @@
 
     private void verifyResultsConvertUint3Int3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7245,28 +8739,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x70899b82d0fceb49l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xd0fceb49l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Uint4Int4(inV, out);
@@ -7285,9 +8787,13 @@
 
     private void verifyResultsConvertUint4Int4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7301,24 +8807,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatUint {
@@ -7327,7 +8841,7 @@
     }
 
     private void checkConvertFloat2Uint2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x239cb6cd424dca22l, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x424dca22l, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Float2Uint2(inV, out);
@@ -7346,9 +8860,13 @@
 
     private void verifyResultsConvertFloat2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7362,28 +8880,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Uint3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x239cc16ea1558f16l, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa1558f16l, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Float3Uint3(inV, out);
@@ -7402,9 +8928,13 @@
 
     private void verifyResultsConvertFloat3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7418,28 +8948,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Uint4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x239ccc10005d540al, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5d540al, 0.0000000000000000000e+00, 4.2949670400000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Float4Uint4(inV, out);
@@ -7458,9 +8996,13 @@
 
     private void verifyResultsConvertFloat4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7474,24 +9016,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharUint {
@@ -7500,7 +9050,7 @@
     }
 
     private void checkConvertChar2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd8618beceddda162l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xeddda162l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Char2Uint2(inV, out);
@@ -7519,9 +9069,13 @@
 
     private void verifyResultsConvertChar2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7535,28 +9089,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd861968e4ce56656l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x4ce56656l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Char3Uint3(inV, out);
@@ -7575,9 +9137,13 @@
 
     private void verifyResultsConvertChar3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7591,28 +9157,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd861a12fabed2b4al, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xabed2b4al, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Char4Uint4(inV, out);
@@ -7631,9 +9205,13 @@
 
     private void verifyResultsConvertChar4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7647,24 +9225,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUint {
@@ -7673,7 +9259,7 @@
     }
 
     private void checkConvertUchar2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7fef453a805fade3l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x805fade3l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Uchar2Uint2(inV, out);
@@ -7692,9 +9278,13 @@
 
     private void verifyResultsConvertUchar2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7708,28 +9298,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7fef4fdbdf6772d7l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xdf6772d7l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Uchar3Uint3(inV, out);
@@ -7748,9 +9346,13 @@
 
     private void verifyResultsConvertUchar3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7764,28 +9366,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7fef5a7d3e6f37cbl, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x3e6f37cbl, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Uchar4Uint4(inV, out);
@@ -7804,9 +9414,13 @@
 
     private void verifyResultsConvertUchar4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7820,24 +9434,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortUint {
@@ -7846,7 +9468,7 @@
     }
 
     private void checkConvertShort2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x68ab69772e9b3c26l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x2e9b3c26l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Short2Uint2(inV, out);
@@ -7865,9 +9487,13 @@
 
     private void verifyResultsConvertShort2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -7881,28 +9507,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x68ab74188da3011al, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x8da3011al, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Short3Uint3(inV, out);
@@ -7921,9 +9555,13 @@
 
     private void verifyResultsConvertShort3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -7937,28 +9575,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x68ab7eb9ecaac60el, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xecaac60el, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Short4Uint4(inV, out);
@@ -7977,9 +9623,13 @@
 
     private void verifyResultsConvertShort4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -7993,24 +9643,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUint {
@@ -8019,7 +9677,7 @@
     }
 
     private void checkConvertUshort2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x8d79897eca7355d1l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xca7355d1l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Ushort2Uint2(inV, out);
@@ -8038,9 +9696,13 @@
 
     private void verifyResultsConvertUshort2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8054,28 +9716,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x8d799420297b1ac5l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x297b1ac5l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Ushort3Uint3(inV, out);
@@ -8094,9 +9764,13 @@
 
     private void verifyResultsConvertUshort3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8110,28 +9784,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x8d799ec18882dfb9l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x8882dfb9l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Ushort4Uint4(inV, out);
@@ -8150,9 +9832,13 @@
 
     private void verifyResultsConvertUshort4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -8166,24 +9852,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntUint {
@@ -8192,7 +9886,7 @@
     }
 
     private void checkConvertInt2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xd74f55bc4f178a9fl, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x4f178a9fl, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Int2Uint2(inV, out);
@@ -8211,9 +9905,13 @@
 
     private void verifyResultsConvertInt2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8227,28 +9925,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xd74f605dae1f4f93l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xae1f4f93l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Int3Uint3(inV, out);
@@ -8267,9 +9973,13 @@
 
     private void verifyResultsConvertInt3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8283,28 +9993,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xd74f6aff0d271487l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xd271487l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Int4Uint4(inV, out);
@@ -8323,9 +10041,13 @@
 
     private void verifyResultsConvertInt4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -8339,24 +10061,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUint {
@@ -8365,7 +10095,7 @@
     }
 
     private void checkConvertUint2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xe71d0ca64c8baea2l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x4c8baea2l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Uint2Uint2(inV, out);
@@ -8384,9 +10114,13 @@
 
     private void verifyResultsConvertUint2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8400,28 +10134,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe71d1747ab937396l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xab937396l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Uint3Uint3(inV, out);
@@ -8440,9 +10182,13 @@
 
     private void verifyResultsConvertUint3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8456,28 +10202,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xe71d21e90a9b388al, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xa9b388al, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Uint4Uint4(inV, out);
@@ -8496,9 +10250,13 @@
 
     private void verifyResultsConvertUint4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -8512,24 +10270,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleDouble {
@@ -8538,7 +10304,7 @@
     }
 
     private void checkConvertDouble2Double2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x345b4a823902786el, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x3902786el, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Double2Double2(inV, out);
@@ -8557,9 +10323,13 @@
 
     private void verifyResultsConvertDouble2Double2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8574,28 +10344,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Double3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x34a812098f5e099al, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x8f5e099al, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Double3Double3(inV, out);
@@ -8614,9 +10392,13 @@
 
     private void verifyResultsConvertDouble3Double3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8631,28 +10413,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Double4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x34f4d990e5b99ac6l, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xe5b99ac6l, -8.5390423905960001625e+307, 8.5390423905960001625e+307);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Double4Double4(inV, out);
@@ -8671,9 +10461,13 @@
 
     private void verifyResultsConvertDouble4Double4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -8688,24 +10482,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongDouble {
@@ -8714,7 +10516,7 @@
     }
 
     private void checkConvertLong2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7b7807124c70299bl, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x4c70299bl, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Long2Double2(inV, out);
@@ -8733,9 +10535,13 @@
 
     private void verifyResultsConvertLong2Double2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8750,28 +10556,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7bc4ce99a2cbbac7l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xa2cbbac7l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Long3Double3(inV, out);
@@ -8790,9 +10604,13 @@
 
     private void verifyResultsConvertLong3Double3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8807,28 +10625,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7c119620f9274bf3l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xf9274bf3l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Long4Double4(inV, out);
@@ -8847,9 +10673,13 @@
 
     private void verifyResultsConvertLong4Double4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -8864,24 +10694,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongDouble {
@@ -8890,7 +10728,7 @@
     }
 
     private void checkConvertUlong2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xaa17685979bc7954l, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x79bc7954l, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Ulong2Double2(inV, out);
@@ -8909,9 +10747,13 @@
 
     private void verifyResultsConvertUlong2Double2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -8926,28 +10768,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xaa642fe0d0180a80l, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xd0180a80l, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Ulong3Double3(inV, out);
@@ -8966,9 +10816,13 @@
 
     private void verifyResultsConvertUlong3Double3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -8983,28 +10837,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xaab0f76826739bacl, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x26739bacl, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Ulong4Double4(inV, out);
@@ -9023,9 +10885,13 @@
 
     private void verifyResultsConvertUlong4Double4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9040,24 +10906,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleLong {
@@ -9066,7 +10940,7 @@
     }
 
     private void checkConvertDouble2Long2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xcbf84dc0430cbe95l, -9.2233720368547747840e+18, 9.2233720368547747840e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x430cbe95l, -4.2949662730000000000e+09, 4.2949662720000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Double2Long2(inV, out);
@@ -9085,9 +10959,13 @@
 
     private void verifyResultsConvertDouble2Long2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9101,28 +10979,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Long3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xcbf85861a2148389l, -9.2233720368547747840e+18, 9.2233720368547747840e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xa2148389l, -4.2949662730000000000e+09, 4.2949662720000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Double3Long3(inV, out);
@@ -9141,9 +11027,13 @@
 
     private void verifyResultsConvertDouble3Long3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -9157,28 +11047,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Long4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xcbf86303011c487dl, -9.2233720368547747840e+18, 9.2233720368547747840e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x11c487dl, -4.2949662730000000000e+09, 4.2949662720000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Double4Long4(inV, out);
@@ -9197,9 +11095,13 @@
 
     private void verifyResultsConvertDouble4Long4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9213,24 +11115,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongLong {
@@ -9239,7 +11149,7 @@
     }
 
     private void checkConvertLong2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xb570c607c81d242al, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc81d242al, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Long2Long2(inV, out);
@@ -9258,9 +11168,13 @@
 
     private void verifyResultsConvertLong2Long2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9274,28 +11188,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xb570d0a92724e91el, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x2724e91el, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Long3Long3(inV, out);
@@ -9314,9 +11236,13 @@
 
     private void verifyResultsConvertLong3Long3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -9330,28 +11256,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xb570db4a862cae12l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x862cae12l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Long4Long4(inV, out);
@@ -9370,9 +11304,13 @@
 
     private void verifyResultsConvertLong4Long4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9386,24 +11324,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongLong {
@@ -9412,7 +11358,7 @@
     }
 
     private void checkConvertUlong2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5cfe7f555a9f30abl, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5a9f30abl, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Ulong2Long2(inV, out);
@@ -9431,9 +11377,13 @@
 
     private void verifyResultsConvertUlong2Long2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9447,28 +11397,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x5cfe89f6b9a6f59fl, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xb9a6f59fl, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Ulong3Long3(inV, out);
@@ -9487,9 +11445,13 @@
 
     private void verifyResultsConvertUlong3Long3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -9503,28 +11465,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5cfe949818aeba93l, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x18aeba93l, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Ulong4Long4(inV, out);
@@ -9543,9 +11513,13 @@
 
     private void verifyResultsConvertUlong4Long4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9559,24 +11533,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleUlong {
@@ -9585,7 +11567,7 @@
     }
 
     private void checkConvertDouble2Ulong2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x42b56e3b7e12ff5el, 0.0000000000000000000e+00, 1.8446744073709549568e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x7e12ff5el, 0.0000000000000000000e+00, 4.2949652480000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Double2Ulong2(inV, out);
@@ -9604,9 +11586,13 @@
 
     private void verifyResultsConvertDouble2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9620,28 +11606,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Ulong3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x42b73756742e203cl, 0.0000000000000000000e+00, 1.8446744073709549568e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x742e203cl, 0.0000000000000000000e+00, 4.2949652480000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Double3Ulong3(inV, out);
@@ -9660,9 +11654,13 @@
 
     private void verifyResultsConvertDouble3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -9676,28 +11674,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Ulong4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x42b900716a49411al, 0.0000000000000000000e+00, 1.8446744073709549568e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x6a49411al, 0.0000000000000000000e+00, 4.2949652480000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Double4Ulong4(inV, out);
@@ -9716,9 +11722,13 @@
 
     private void verifyResultsConvertDouble4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9732,24 +11742,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongUlong {
@@ -9758,7 +11776,7 @@
     }
 
     private void checkConvertLong2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x79f1a23ed7d40f65l, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xd7d40f65l, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Long2Ulong2(inV, out);
@@ -9777,9 +11795,13 @@
 
     private void verifyResultsConvertLong2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9793,28 +11815,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x79f36b59cdef3043l, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xcdef3043l, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Long3Ulong3(inV, out);
@@ -9833,9 +11863,13 @@
 
     private void verifyResultsConvertLong3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -9849,28 +11883,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x79f53474c40a5121l, false, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xc40a5121l, false, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Long4Ulong4(inV, out);
@@ -9889,9 +11931,13 @@
 
     private void verifyResultsConvertLong4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -9905,24 +11951,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUlong {
@@ -9931,7 +11985,7 @@
     }
 
     private void checkConvertUlong2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x9ebfc24673ac2910l, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x73ac2910l, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Ulong2Ulong2(inV, out);
@@ -9950,9 +12004,13 @@
 
     private void verifyResultsConvertUlong2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -9966,28 +12024,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x9ec18b6169c749eel, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x69c749eel, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Ulong3Ulong3(inV, out);
@@ -10006,9 +12072,13 @@
 
     private void verifyResultsConvertUlong3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10022,28 +12092,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9ec3547c5fe26accl, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5fe26accl, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Ulong4Ulong4(inV, out);
@@ -10062,9 +12140,13 @@
 
     private void verifyResultsConvertUlong4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10078,24 +12160,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleFloat {
@@ -10104,7 +12194,7 @@
     }
 
     private void checkConvertDouble2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x42b4cec67d6d9a2dl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x7d6d9a2dl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Double2Float2(inV, out);
@@ -10123,9 +12213,13 @@
 
     private void verifyResultsConvertDouble2Float2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -10140,28 +12234,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x42b697e17388bb0bl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x7388bb0bl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Double3Float3(inV, out);
@@ -10180,9 +12282,13 @@
 
     private void verifyResultsConvertDouble3Float3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10197,28 +12303,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x42b860fc69a3dbe9l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x69a3dbe9l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Double4Float4(inV, out);
@@ -10237,9 +12351,13 @@
 
     private void verifyResultsConvertDouble4Float4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10254,24 +12372,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongFloat {
@@ -10280,7 +12406,7 @@
     }
 
     private void checkConvertLong2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x79f102c9d72eaa34l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xd72eaa34l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Long2Float2(inV, out);
@@ -10299,9 +12425,13 @@
 
     private void verifyResultsConvertLong2Float2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -10316,28 +12446,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x79f2cbe4cd49cb12l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xcd49cb12l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Long3Float3(inV, out);
@@ -10356,9 +12494,13 @@
 
     private void verifyResultsConvertLong3Float3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10373,28 +12515,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x79f494ffc364ebf0l, true, 63);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xc364ebf0l, true, 63);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Long4Float4(inV, out);
@@ -10413,9 +12563,13 @@
 
     private void verifyResultsConvertLong4Float4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10430,24 +12584,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongFloat {
@@ -10456,7 +12618,7 @@
     }
 
     private void checkConvertUlong2Float2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x9ebf22d17306c3dfl, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x7306c3dfl, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testConvertFloat2Ulong2Float2(inV, out);
@@ -10475,9 +12637,13 @@
 
     private void verifyResultsConvertUlong2Float2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -10492,28 +12658,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Float3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x9ec0ebec6921e4bdl, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x6921e4bdl, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testConvertFloat3Ulong3Float3(inV, out);
@@ -10532,9 +12706,13 @@
 
     private void verifyResultsConvertUlong3Float3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10549,28 +12727,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Float4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9ec2b5075f3d059bl, false, 64);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5f3d059bl, false, 64);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testConvertFloat4Ulong4Float4(inV, out);
@@ -10589,9 +12775,13 @@
 
     private void verifyResultsConvertUlong4Float4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10606,24 +12796,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleChar {
@@ -10632,7 +12830,7 @@
     }
 
     private void checkConvertDouble2Char2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xcbf84b7bef094a17l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xef094a17l, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Double2Char2(inV, out);
@@ -10651,9 +12849,13 @@
 
     private void verifyResultsConvertDouble2Char2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -10667,28 +12869,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Char3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xcbf8561d4e110f0bl, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x4e110f0bl, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Double3Char3(inV, out);
@@ -10707,9 +12917,13 @@
 
     private void verifyResultsConvertDouble3Char3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10723,28 +12937,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Char4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xcbf860bead18d3ffl, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xad18d3ffl, -1.2800000000000000000e+02, 1.2700000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Double4Char4(inV, out);
@@ -10763,9 +12985,13 @@
 
     private void verifyResultsConvertDouble4Char4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10779,24 +13005,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongChar {
@@ -10805,7 +13039,7 @@
     }
 
     private void checkConvertLong2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xb570c3c37419afacl, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7419afacl, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Long2Char2(inV, out);
@@ -10824,9 +13058,13 @@
 
     private void verifyResultsConvertLong2Char2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -10840,28 +13078,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xb570ce64d32174a0l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xd32174a0l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Long3Char3(inV, out);
@@ -10880,9 +13126,13 @@
 
     private void verifyResultsConvertLong3Char3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -10896,28 +13146,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xb570d90632293994l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x32293994l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Long4Char4(inV, out);
@@ -10936,9 +13194,13 @@
 
     private void verifyResultsConvertLong4Char4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -10952,24 +13214,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongChar {
@@ -10978,7 +13248,7 @@
     }
 
     private void checkConvertUlong2Char2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5cfe7d11069bbc2dl, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x69bbc2dl, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertChar2Ulong2Char2(inV, out);
@@ -10997,9 +13267,13 @@
 
     private void verifyResultsConvertUlong2Char2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11013,28 +13287,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Char3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x5cfe87b265a38121l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x65a38121l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertChar3Ulong3Char3(inV, out);
@@ -11053,9 +13335,13 @@
 
     private void verifyResultsConvertUlong3Char3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11069,28 +13355,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Char4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5cfe9253c4ab4615l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xc4ab4615l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertChar4Ulong4Char4(inV, out);
@@ -11109,9 +13403,13 @@
 
     private void verifyResultsConvertUlong4Char4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11125,24 +13423,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleUchar {
@@ -11151,7 +13457,7 @@
     }
 
     private void checkConvertDouble2Uchar2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x42b56bf72a0f8ae0l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x2a0f8ae0l, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Double2Uchar2(inV, out);
@@ -11170,9 +13476,13 @@
 
     private void verifyResultsConvertDouble2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11186,28 +13496,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Uchar3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x42b73512202aabbel, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x202aabbel, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Double3Uchar3(inV, out);
@@ -11226,9 +13544,13 @@
 
     private void verifyResultsConvertDouble3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11242,28 +13564,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Uchar4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x42b8fe2d1645cc9cl, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x1645cc9cl, 0.0000000000000000000e+00, 2.5500000000000000000e+02);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Double4Uchar4(inV, out);
@@ -11282,9 +13612,13 @@
 
     private void verifyResultsConvertDouble4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11298,24 +13632,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongUchar {
@@ -11324,7 +13666,7 @@
     }
 
     private void checkConvertLong2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x79f19ffa83d09ae7l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x83d09ae7l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Long2Uchar2(inV, out);
@@ -11343,9 +13685,13 @@
 
     private void verifyResultsConvertLong2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11359,28 +13705,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x79f3691579ebbbc5l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x79ebbbc5l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Long3Uchar3(inV, out);
@@ -11399,9 +13753,13 @@
 
     private void verifyResultsConvertLong3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11415,28 +13773,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x79f532307006dca3l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7006dca3l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Long4Uchar4(inV, out);
@@ -11455,9 +13821,13 @@
 
     private void verifyResultsConvertLong4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11471,24 +13841,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUchar {
@@ -11497,7 +13875,7 @@
     }
 
     private void checkConvertUlong2Uchar2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x9ebfc0021fa8b492l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x1fa8b492l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.forEach_testConvertUchar2Ulong2Uchar2(inV, out);
@@ -11516,9 +13894,13 @@
 
     private void verifyResultsConvertUlong2Uchar2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11532,28 +13914,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Uchar3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x9ec1891d15c3d570l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x15c3d570l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.forEach_testConvertUchar3Ulong3Uchar3(inV, out);
@@ -11572,9 +13962,13 @@
 
     private void verifyResultsConvertUlong3Uchar3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11588,28 +13982,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Uchar4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9ec352380bdef64el, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xbdef64el, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.forEach_testConvertUchar4Ulong4Uchar4(inV, out);
@@ -11628,9 +14030,13 @@
 
     private void verifyResultsConvertUlong4Uchar4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11644,24 +14050,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleShort {
@@ -11670,7 +14084,7 @@
     }
 
     private void checkConvertDouble2Short2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x42b557fbbf1d55f9l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xbf1d55f9l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Double2Short2(inV, out);
@@ -11689,9 +14103,13 @@
 
     private void verifyResultsConvertDouble2Short2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11705,28 +14123,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Short3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x42b72116b53876d7l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xb53876d7l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Double3Short3(inV, out);
@@ -11745,9 +14171,13 @@
 
     private void verifyResultsConvertDouble3Short3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11761,28 +14191,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Short4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x42b8ea31ab5397b5l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xab5397b5l, -3.2768000000000000000e+04, 3.2767000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Double4Short4(inV, out);
@@ -11801,9 +14239,13 @@
 
     private void verifyResultsConvertDouble4Short4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11817,24 +14259,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongShort {
@@ -11843,7 +14293,7 @@
     }
 
     private void checkConvertLong2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x79f18bff18de6600l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x18de6600l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Long2Short2(inV, out);
@@ -11862,9 +14312,13 @@
 
     private void verifyResultsConvertLong2Short2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -11878,28 +14332,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x79f3551a0ef986del, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xef986del, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Long3Short3(inV, out);
@@ -11918,9 +14380,13 @@
 
     private void verifyResultsConvertLong3Short3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -11934,28 +14400,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x79f51e350514a7bcl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x514a7bcl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Long4Short4(inV, out);
@@ -11974,9 +14448,13 @@
 
     private void verifyResultsConvertLong4Short4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -11990,24 +14468,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongShort {
@@ -12016,7 +14502,7 @@
     }
 
     private void checkConvertUlong2Short2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x9ebfac06b4b67fabl, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xb4b67fabl, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertShort2Ulong2Short2(inV, out);
@@ -12035,9 +14521,13 @@
 
     private void verifyResultsConvertUlong2Short2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12051,28 +14541,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Short3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x9ec17521aad1a089l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xaad1a089l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertShort3Ulong3Short3(inV, out);
@@ -12091,9 +14589,13 @@
 
     private void verifyResultsConvertUlong3Short3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12107,28 +14609,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Short4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x9ec33e3ca0ecc167l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xa0ecc167l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertShort4Ulong4Short4(inV, out);
@@ -12147,9 +14657,13 @@
 
     private void verifyResultsConvertUlong4Short4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -12163,24 +14677,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleUshort {
@@ -12189,7 +14711,7 @@
     }
 
     private void checkConvertDouble2Ushort2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x3479ccaea92a37bcl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xa92a37bcl, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Double2Ushort2(inV, out);
@@ -12208,9 +14730,13 @@
 
     private void verifyResultsConvertDouble2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12224,28 +14750,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Ushort3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x34c69435ff85c8e8l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xff85c8e8l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Double3Ushort3(inV, out);
@@ -12264,9 +14798,13 @@
 
     private void verifyResultsConvertDouble3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12280,28 +14818,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Ushort4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x35135bbd55e15a14l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x55e15a14l, 0.0000000000000000000e+00, 6.5535000000000000000e+04);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Double4Ushort4(inV, out);
@@ -12320,9 +14866,13 @@
 
     private void verifyResultsConvertDouble4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -12336,24 +14886,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongUshort {
@@ -12362,7 +14920,7 @@
     }
 
     private void checkConvertLong2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7b96893ebc97e8e9l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xbc97e8e9l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Long2Ushort2(inV, out);
@@ -12381,9 +14939,13 @@
 
     private void verifyResultsConvertLong2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12397,28 +14959,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7be350c612f37a15l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x12f37a15l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Long3Ushort3(inV, out);
@@ -12437,9 +15007,13 @@
 
     private void verifyResultsConvertLong3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12453,28 +15027,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7c30184d694f0b41l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x694f0b41l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Long4Ushort4(inV, out);
@@ -12493,9 +15075,13 @@
 
     private void verifyResultsConvertLong4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -12509,24 +15095,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUshort {
@@ -12535,7 +15129,7 @@
     }
 
     private void checkConvertUlong2Ushort2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xaa35ea85e9e438a2l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xe9e438a2l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.forEach_testConvertUshort2Ulong2Ushort2(inV, out);
@@ -12554,9 +15148,13 @@
 
     private void verifyResultsConvertUlong2Ushort2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12570,28 +15168,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Ushort3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xaa82b20d403fc9cel, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x403fc9cel, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.forEach_testConvertUshort3Ulong3Ushort3(inV, out);
@@ -12610,9 +15216,13 @@
 
     private void verifyResultsConvertUlong3Ushort3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12626,28 +15236,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Ushort4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xaacf7994969b5afal, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x969b5afal, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.forEach_testConvertUshort4Ulong4Ushort4(inV, out);
@@ -12666,9 +15284,13 @@
 
     private void verifyResultsConvertUlong4Ushort4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -12682,24 +15304,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleInt {
@@ -12708,7 +15338,7 @@
     }
 
     private void checkConvertDouble2Int2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xa57cd81dcaf628fcl, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xcaf628fcl, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Double2Int2(inV, out);
@@ -12727,9 +15357,13 @@
 
     private void verifyResultsConvertDouble2Int2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12743,28 +15377,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Int3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xa57cd85d149e3932l, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x149e3932l, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Double3Int3(inV, out);
@@ -12783,9 +15425,13 @@
 
     private void verifyResultsConvertDouble3Int3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12799,28 +15445,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Int4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xa57cd89c5e464968l, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0x5e464968l, -2.1474836480000000000e+09, 2.1474836470000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Double4Int4(inV, out);
@@ -12839,9 +15493,13 @@
 
     private void verifyResultsConvertDouble4Int4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -12855,24 +15513,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongInt {
@@ -12881,7 +15547,7 @@
     }
 
     private void checkConvertLong2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xfe441c66e5deba3bl, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xe5deba3bl, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Long2Int2(inV, out);
@@ -12900,9 +15566,13 @@
 
     private void verifyResultsConvertLong2Int2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -12916,28 +15586,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xfe441ca62f86ca71l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x2f86ca71l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Long3Int3(inV, out);
@@ -12956,9 +15634,13 @@
 
     private void verifyResultsConvertLong3Int3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -12972,28 +15654,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xfe441ce5792edaa7l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x792edaa7l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Long4Int4(inV, out);
@@ -13012,9 +15702,13 @@
 
     private void verifyResultsConvertLong4Int4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13028,24 +15722,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongInt {
@@ -13054,7 +15756,7 @@
     }
 
     private void checkConvertUlong2Int2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xe11d350e352de3el, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xe352de3el, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertInt2Ulong2Int2(inV, out);
@@ -13073,9 +15775,13 @@
 
     private void verifyResultsConvertUlong2Int2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13089,28 +15795,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Int3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xe11d3902cfaee74l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x2cfaee74l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertInt3Ulong3Int3(inV, out);
@@ -13129,9 +15843,13 @@
 
     private void verifyResultsConvertUlong3Int3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -13145,28 +15863,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Int4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xe11d3cf76a2feaal, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x76a2feaal, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertInt4Ulong4Int4(inV, out);
@@ -13185,9 +15911,13 @@
 
     private void verifyResultsConvertUlong4Int4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13201,24 +15931,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsDoubleUint {
@@ -13227,7 +15965,7 @@
     }
 
     private void checkConvertDouble2Uint2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0xcbf84ff107de7dd7l, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 2, 0x7de7dd7l, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Double2Uint2(inV, out);
@@ -13246,9 +15984,13 @@
 
     private void verifyResultsConvertDouble2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13262,28 +16004,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble3Uint3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0xcbf85a9266e642cbl, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 3, 0x66e642cbl, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Double3Uint3(inV, out);
@@ -13302,9 +16052,13 @@
 
     private void verifyResultsConvertDouble3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -13318,28 +16072,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertDouble4Uint4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xcbf86533c5ee07bfl, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_64, 4, 0xc5ee07bfl, 0.0000000000000000000e+00, 4.2949672950000000000e+09);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Double4Uint4(inV, out);
@@ -13358,9 +16120,13 @@
 
     private void verifyResultsConvertDouble4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         double[] arrayInV = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (double) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13374,24 +16140,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertDouble4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertDouble4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongUint {
@@ -13400,7 +16174,7 @@
     }
 
     private void checkConvertLong2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xb570c8388ceee36cl, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x8ceee36cl, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Long2Uint2(inV, out);
@@ -13419,9 +16193,13 @@
 
     private void verifyResultsConvertLong2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13435,28 +16213,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xb570d2d9ebf6a860l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xebf6a860l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Long3Uint3(inV, out);
@@ -13475,9 +16261,13 @@
 
     private void verifyResultsConvertLong3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -13491,28 +16281,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertLong4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xb570dd7b4afe6d54l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x4afe6d54l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Long4Uint4(inV, out);
@@ -13531,9 +16329,13 @@
 
     private void verifyResultsConvertLong4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13547,24 +16349,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertLong4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertLong4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUint {
@@ -13573,7 +16383,7 @@
     }
 
     private void checkConvertUlong2Uint2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5cfe81861f70efedl, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x1f70efedl, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.forEach_testConvertUint2Ulong2Uint2(inV, out);
@@ -13592,9 +16402,13 @@
 
     private void verifyResultsConvertUlong2Uint2(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13608,28 +16422,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong3Uint3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x5cfe8c277e78b4e1l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x7e78b4e1l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.forEach_testConvertUint3Ulong3Uint3(inV, out);
@@ -13648,9 +16470,13 @@
 
     private void verifyResultsConvertUlong3Uint3(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -13664,28 +16490,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUlong4Uint4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5cfe96c8dd8079d5l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0xdd8079d5l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.forEach_testConvertUint4Ulong4Uint4(inV, out);
@@ -13704,9 +16538,13 @@
 
     private void verifyResultsConvertUlong4Uint4(Allocation inV, Allocation out, boolean relaxed) {
         long[] arrayInV = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (long) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13720,24 +16558,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUlong4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUlong4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatDouble {
@@ -13746,7 +16592,7 @@
     }
 
     private void checkConvertFloat2Double2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x36c6372446e08221l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x46e08221l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Float2Double2(inV, out);
@@ -13765,9 +16611,13 @@
 
     private void verifyResultsConvertFloat2Double2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13782,28 +16632,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Double3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3712feab9d3c134dl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9d3c134dl, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Float3Double3(inV, out);
@@ -13822,9 +16680,13 @@
 
     private void verifyResultsConvertFloat3Double3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -13839,28 +16701,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Double4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x375fc632f397a479l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf397a479l, -1.6163412428744576259e+38, 1.6163412428744576259e+38);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Float4Double4(inV, out);
@@ -13879,9 +16749,13 @@
 
     private void verifyResultsConvertFloat4Double4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -13896,24 +16770,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharDouble {
@@ -13922,7 +16804,7 @@
     }
 
     private void checkConvertChar2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd86d88e268ca2f61l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x68ca2f61l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Char2Double2(inV, out);
@@ -13941,9 +16823,13 @@
 
     private void verifyResultsConvertChar2Double2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -13958,28 +16844,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd8ba5069bf25c08dl, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xbf25c08dl, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Char3Double3(inV, out);
@@ -13998,9 +16892,13 @@
 
     private void verifyResultsConvertChar3Double3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14015,28 +16913,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd90717f1158151b9l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x158151b9l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Char4Double4(inV, out);
@@ -14055,9 +16961,13 @@
 
     private void verifyResultsConvertChar4Double4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14072,24 +16982,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharDouble {
@@ -14098,7 +17016,7 @@
     }
 
     private void checkConvertUchar2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x70cea2996167f1al, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x96167f1al, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Uchar2Double2(inV, out);
@@ -14117,9 +17035,13 @@
 
     private void verifyResultsConvertUchar2Double2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -14134,28 +17056,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x759b1b0ec721046l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xec721046l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Uchar3Double3(inV, out);
@@ -14174,9 +17104,13 @@
 
     private void verifyResultsConvertUchar3Double3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14191,28 +17125,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7a6793842cda172l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x42cda172l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Uchar4Double4(inV, out);
@@ -14231,9 +17173,13 @@
 
     private void verifyResultsConvertUchar4Double4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14248,24 +17194,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortDouble {
@@ -14274,7 +17228,7 @@
     }
 
     private void checkConvertShort2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xfdeea470023d0105l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x23d0105l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Short2Double2(inV, out);
@@ -14293,9 +17247,13 @@
 
     private void verifyResultsConvertShort2Double2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -14310,28 +17268,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xfe3b6bf758989231l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x58989231l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Short3Double3(inV, out);
@@ -14350,9 +17316,13 @@
 
     private void verifyResultsConvertShort3Double3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14367,28 +17337,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xfe88337eaef4235dl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xaef4235dl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Short4Double4(inV, out);
@@ -14407,9 +17385,13 @@
 
     private void verifyResultsConvertShort4Double4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14424,24 +17406,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortDouble {
@@ -14450,7 +17440,7 @@
     }
 
     private void checkConvertUshort2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xd2b3fb649e0e6518l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x9e0e6518l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Ushort2Double2(inV, out);
@@ -14469,9 +17459,13 @@
 
     private void verifyResultsConvertUshort2Double2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -14486,28 +17480,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xd300c2ebf469f644l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xf469f644l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Ushort3Double3(inV, out);
@@ -14526,9 +17528,13 @@
 
     private void verifyResultsConvertUshort3Double3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14543,28 +17549,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xd34d8a734ac58770l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x4ac58770l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Ushort4Double4(inV, out);
@@ -14583,9 +17597,13 @@
 
     private void verifyResultsConvertUshort4Double4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14600,24 +17618,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntDouble {
@@ -14626,7 +17652,7 @@
     }
 
     private void checkConvertInt2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x1be423b7a40fc8f6l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xa40fc8f6l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Int2Double2(inV, out);
@@ -14645,9 +17671,13 @@
 
     private void verifyResultsConvertInt2Double2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -14662,28 +17692,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x1c30eb3efa6b5a22l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xfa6b5a22l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Int3Double3(inV, out);
@@ -14702,9 +17740,13 @@
 
     private void verifyResultsConvertInt3Double3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14719,28 +17761,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x1c7db2c650c6eb4el, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x50c6eb4el, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Int4Double4(inV, out);
@@ -14759,9 +17809,13 @@
 
     private void verifyResultsConvertInt4Double4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14776,24 +17830,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintDouble {
@@ -14802,7 +17864,7 @@
     }
 
     private void checkConvertUint2Double2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x40b243bf3fe7e2a1l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x3fe7e2a1l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 2), INPUTSIZE);
             script.forEach_testConvertDouble2Uint2Double2(inV, out);
@@ -14821,9 +17883,13 @@
 
     private void verifyResultsConvertUint2Double2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -14838,28 +17904,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Double2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Double2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Double3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x40ff0b46964373cdl, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x964373cdl, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 3), INPUTSIZE);
             script.forEach_testConvertDouble3Uint3Double3(inV, out);
@@ -14878,9 +17952,13 @@
 
     private void verifyResultsConvertUint3Double3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -14895,28 +17973,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Double3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Double3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Double4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x414bd2cdec9f04f9l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xec9f04f9l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_64, 4), INPUTSIZE);
             script.forEach_testConvertDouble4Uint4Double4(inV, out);
@@ -14935,9 +18021,13 @@
 
     private void verifyResultsConvertUint4Double4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         double[] arrayOut = new double[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (double) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -14952,24 +18042,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Double4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Double4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatLong {
@@ -14978,7 +18076,7 @@
     }
 
     private void checkConvertFloat2Long2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x239cb49c7d7c0ae0l, -9.2233714870989619200e+18, 9.2233714870989619200e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7d7c0ae0l, -1.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Float2Long2(inV, out);
@@ -14997,9 +18095,13 @@
 
     private void verifyResultsConvertFloat2Long2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15013,28 +18115,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Long3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x239cbf3ddc83cfd4l, -9.2233714870989619200e+18, 9.2233714870989619200e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdc83cfd4l, -1.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Float3Long3(inV, out);
@@ -15053,9 +18163,13 @@
 
     private void verifyResultsConvertFloat3Long3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15069,28 +18183,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Long4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x239cc9df3b8b94c8l, -9.2233714870989619200e+18, 9.2233714870989619200e+18);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3b8b94c8l, -1.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Float4Long4(inV, out);
@@ -15109,9 +18231,13 @@
 
     private void verifyResultsConvertFloat4Long4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15125,24 +18251,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharLong {
@@ -15151,7 +18285,7 @@
     }
 
     private void checkConvertChar2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xd86189bc290be220l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x290be220l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Char2Long2(inV, out);
@@ -15170,9 +18304,13 @@
 
     private void verifyResultsConvertChar2Long2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15186,28 +18324,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xd861945d8813a714l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x8813a714l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Char3Long3(inV, out);
@@ -15226,9 +18372,13 @@
 
     private void verifyResultsConvertChar3Long3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15242,28 +18392,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd8619efee71b6c08l, true, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xe71b6c08l, true, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Char4Long4(inV, out);
@@ -15282,9 +18440,13 @@
 
     private void verifyResultsConvertChar4Long4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15298,24 +18460,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharLong {
@@ -15324,7 +18494,7 @@
     }
 
     private void checkConvertUchar2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7fef4309bb8deea1l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xbb8deea1l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Uchar2Long2(inV, out);
@@ -15343,9 +18513,13 @@
 
     private void verifyResultsConvertUchar2Long2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15359,28 +18533,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7fef4dab1a95b395l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x1a95b395l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Uchar3Long3(inV, out);
@@ -15399,9 +18581,13 @@
 
     private void verifyResultsConvertUchar3Long3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15415,28 +18601,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7fef584c799d7889l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x799d7889l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Uchar4Long4(inV, out);
@@ -15455,9 +18649,13 @@
 
     private void verifyResultsConvertUchar4Long4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15471,24 +18669,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortLong {
@@ -15497,7 +18703,7 @@
     }
 
     private void checkConvertShort2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x68ab674669c97ce4l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x69c97ce4l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Short2Long2(inV, out);
@@ -15516,9 +18722,13 @@
 
     private void verifyResultsConvertShort2Long2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15532,28 +18742,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x68ab71e7c8d141d8l, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xc8d141d8l, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Short3Long3(inV, out);
@@ -15572,9 +18790,13 @@
 
     private void verifyResultsConvertShort3Long3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15588,28 +18810,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x68ab7c8927d906ccl, true, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x27d906ccl, true, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Short4Long4(inV, out);
@@ -15628,9 +18858,13 @@
 
     private void verifyResultsConvertShort4Long4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15644,24 +18878,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortLong {
@@ -15670,7 +18912,7 @@
     }
 
     private void checkConvertUshort2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x8d79874e05a1968fl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x5a1968fl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Ushort2Long2(inV, out);
@@ -15689,9 +18931,13 @@
 
     private void verifyResultsConvertUshort2Long2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15705,28 +18951,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x8d7991ef64a95b83l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x64a95b83l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Ushort3Long3(inV, out);
@@ -15745,9 +18999,13 @@
 
     private void verifyResultsConvertUshort3Long3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15761,28 +19019,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x8d799c90c3b12077l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc3b12077l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Ushort4Long4(inV, out);
@@ -15801,9 +19067,13 @@
 
     private void verifyResultsConvertUshort4Long4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15817,24 +19087,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntLong {
@@ -15843,7 +19121,7 @@
     }
 
     private void checkConvertInt2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xd74f538b8a45cb5dl, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x8a45cb5dl, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Int2Long2(inV, out);
@@ -15862,9 +19140,13 @@
 
     private void verifyResultsConvertInt2Long2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -15878,28 +19160,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xd74f5e2ce94d9051l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xe94d9051l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Int3Long3(inV, out);
@@ -15918,9 +19208,13 @@
 
     private void verifyResultsConvertInt3Long3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -15934,28 +19228,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xd74f68ce48555545l, true, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x48555545l, true, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Int4Long4(inV, out);
@@ -15974,9 +19276,13 @@
 
     private void verifyResultsConvertInt4Long4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -15990,24 +19296,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintLong {
@@ -16016,7 +19330,7 @@
     }
 
     private void checkConvertUint2Long2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xe71d0a7587b9ef60l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x87b9ef60l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertLong2Uint2Long2(inV, out);
@@ -16035,9 +19349,13 @@
 
     private void verifyResultsConvertUint2Long2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16051,28 +19369,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Long3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe71d1516e6c1b454l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe6c1b454l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertLong3Uint3Long3(inV, out);
@@ -16091,9 +19417,13 @@
 
     private void verifyResultsConvertUint3Long3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16107,28 +19437,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Long4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xe71d1fb845c97948l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x45c97948l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertLong4Uint4Long4(inV, out);
@@ -16147,9 +19485,13 @@
 
     private void verifyResultsConvertUint4Long4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -16163,24 +19505,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatUlong {
@@ -16189,7 +19539,7 @@
     }
 
     private void checkConvertFloat2Ulong2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfb52b5394ec4cff7l, 0.0000000000000000000e+00, 1.8446742974197923840e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4ec4cff7l, 0.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Float2Ulong2(inV, out);
@@ -16208,9 +19558,13 @@
 
     private void verifyResultsConvertFloat2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16224,28 +19578,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat3Ulong3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb547e5444dff0d5l, 0.0000000000000000000e+00, 1.8446742974197923840e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x44dff0d5l, 0.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Float3Ulong3(inV, out);
@@ -16264,9 +19626,13 @@
 
     private void verifyResultsConvertFloat3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16280,28 +19646,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertFloat4Ulong4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfb56476f3afb11b3l, 0.0000000000000000000e+00, 1.8446742974197923840e+19);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3afb11b3l, 0.0000000000000000000e+00, 0.0000000000000000000e+00);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Float4Ulong4(inV, out);
@@ -16320,9 +19694,13 @@
 
     private void verifyResultsConvertFloat4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -16336,24 +19714,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertFloat4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertFloat4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharUlong {
@@ -16362,7 +19748,7 @@
     }
 
     private void checkConvertChar2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x5862818b1fedf7b7l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x1fedf7b7l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Char2Ulong2(inV, out);
@@ -16381,9 +19767,13 @@
 
     private void verifyResultsConvertChar2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16397,28 +19787,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x58644aa616091895l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x16091895l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Char3Ulong3(inV, out);
@@ -16437,9 +19835,13 @@
 
     private void verifyResultsConvertChar3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16453,28 +19855,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertChar4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x586613c10c243973l, false, 7);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xc243973l, false, 7);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Char4Ulong4(inV, out);
@@ -16493,9 +19903,13 @@
 
     private void verifyResultsConvertChar4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -16509,24 +19923,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertChar4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertChar4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUlong {
@@ -16535,7 +19957,7 @@
     }
 
     private void checkConvertUchar2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x7d30a192bbc61162l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xbbc61162l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Uchar2Ulong2(inV, out);
@@ -16554,9 +19976,13 @@
 
     private void verifyResultsConvertUchar2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16570,28 +19996,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x7d326aadb1e13240l, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xb1e13240l, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Uchar3Ulong3(inV, out);
@@ -16610,9 +20044,13 @@
 
     private void verifyResultsConvertUchar3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16626,28 +20064,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUchar4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7d3433c8a7fc531el, false, 8);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xa7fc531el, false, 8);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Uchar4Ulong4(inV, out);
@@ -16666,9 +20112,13 @@
 
     private void verifyResultsConvertUchar4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         byte[] arrayInV = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (byte) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -16682,24 +20132,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUchar4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUchar4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortUlong {
@@ -16708,7 +20166,7 @@
     }
 
     private void checkConvertShort2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x94cab7c3ffc6f6a3l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xffc6f6a3l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Short2Ulong2(inV, out);
@@ -16727,9 +20185,13 @@
 
     private void verifyResultsConvertShort2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16743,28 +20205,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x94cc80def5e21781l, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 3, 0xf5e21781l, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Short3Ulong3(inV, out);
@@ -16783,9 +20253,13 @@
 
     private void verifyResultsConvertShort3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16799,28 +20273,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertShort4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x94ce49f9ebfd385fl, false, 15);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xebfd385fl, false, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Short4Ulong4(inV, out);
@@ -16839,9 +20321,13 @@
 
     private void verifyResultsConvertShort4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -16855,24 +20341,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertShort4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertShort4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUlong {
@@ -16881,7 +20375,7 @@
     }
 
     private void checkConvertUshort2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xc36a190b2d13465cl, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2d13465cl, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Ushort2Ulong2(inV, out);
@@ -16900,9 +20394,13 @@
 
     private void verifyResultsConvertUshort2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -16916,28 +20414,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xc36be226232e673al, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x232e673al, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Ushort3Ulong3(inV, out);
@@ -16956,9 +20462,13 @@
 
     private void verifyResultsConvertUshort3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -16972,28 +20482,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUshort4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xc36dab4119498818l, false, 16);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x19498818l, false, 16);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Ushort4Ulong4(inV, out);
@@ -17012,9 +20530,13 @@
 
     private void verifyResultsConvertUshort4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         short[] arrayInV = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (short) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -17028,24 +20550,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUshort4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUshort4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntUlong {
@@ -17054,7 +20584,7 @@
     }
 
     private void checkConvertInt2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x2a53676074a824f6l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x74a824f6l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Int2Ulong2(inV, out);
@@ -17073,9 +20603,13 @@
 
     private void verifyResultsConvertInt2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -17089,28 +20623,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x2a55307b6ac345d4l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x6ac345d4l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Int3Ulong3(inV, out);
@@ -17129,9 +20671,13 @@
 
     private void verifyResultsConvertInt3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -17145,28 +20691,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertInt4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x2a56f99660de66b2l, false, 31);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x60de66b2l, false, 31);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Int4Ulong4(inV, out);
@@ -17185,9 +20739,13 @@
 
     private void verifyResultsConvertInt4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -17201,24 +20759,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertInt4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertInt4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUlong {
@@ -17227,7 +20793,7 @@
     }
 
     private void checkConvertUint2Ulong2() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xd1e120ae072a3177l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x72a3177l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.forEach_testConvertUlong2Uint2Ulong2(inV, out);
@@ -17246,9 +20812,13 @@
 
     private void verifyResultsConvertUint2Ulong2(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -17262,28 +20832,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint3Ulong3() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xd1e2e9c8fd455255l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xfd455255l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.forEach_testConvertUlong3Uint3Ulong3(inV, out);
@@ -17302,9 +20880,13 @@
 
     private void verifyResultsConvertUint3Ulong3(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -17318,28 +20900,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkConvertUint4Ulong4() {
-        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xd1e4b2e3f3607333l, false, 32);
+        Allocation inV = createRandomIntegerAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xf3607333l, false, 32);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.forEach_testConvertUlong4Uint4Ulong4(inV, out);
@@ -17358,9 +20948,13 @@
 
     private void verifyResultsConvertUint4Ulong4(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -17374,24 +20968,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkConvertUint4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkConvertUint4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testConvert() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
index 739b280e..24b71ec 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCopysign.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCopysign extends RSBaseCompute {
 
     private ScriptC_TestCopysign script;
@@ -41,8 +43,8 @@
     }
 
     private void checkCopysignFloatFloatFloat() {
-        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4218ae4ccf086614l, false);
-        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd95dacad9d8d3ef5l, false);
+        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcf086614l, false);
+        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9d8d3ef5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInSignValue(inSignValue);
@@ -63,11 +65,16 @@
 
     private void verifyResultsCopysignFloatFloatFloat(Allocation inMagnitudeValue, Allocation inSignValue, Allocation out, boolean relaxed) {
         float[] arrayInMagnitudeValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMagnitudeValue, (float) 42);
         inMagnitudeValue.copyTo(arrayInMagnitudeValue);
         float[] arrayInSignValue = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInSignValue, (float) 42);
         inSignValue.copyTo(arrayInSignValue);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMagnitudeValue: ");
-                    appendVariableToMessage(message, args.inMagnitudeValue);
-                    message.append("\n");
-                    message.append("Input inSignValue: ");
-                    appendVariableToMessage(message, args.inSignValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMagnitudeValue: ");
+                        appendVariableToMessage(message, args.inMagnitudeValue);
+                        message.append("\n");
+                        message.append("Input inSignValue: ");
+                        appendVariableToMessage(message, args.inSignValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCopysignFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCopysignFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCopysignFloat2Float2Float2() {
-        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8efe093722e9f786l, false);
-        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb33b4a8420cec72bl, false);
+        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x22e9f786l, false);
+        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x20cec72bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInSignValue(inSignValue);
@@ -129,11 +144,16 @@
 
     private void verifyResultsCopysignFloat2Float2Float2(Allocation inMagnitudeValue, Allocation inSignValue, Allocation out, boolean relaxed) {
         float[] arrayInMagnitudeValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMagnitudeValue, (float) 42);
         inMagnitudeValue.copyTo(arrayInMagnitudeValue);
         float[] arrayInSignValue = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInSignValue, (float) 42);
         inSignValue.copyTo(arrayInSignValue);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMagnitudeValue: ");
-                    appendVariableToMessage(message, args.inMagnitudeValue);
-                    message.append("\n");
-                    message.append("Input inSignValue: ");
-                    appendVariableToMessage(message, args.inSignValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMagnitudeValue: ");
+                        appendVariableToMessage(message, args.inMagnitudeValue);
+                        message.append("\n");
+                        message.append("Input inSignValue: ");
+                        appendVariableToMessage(message, args.inSignValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCopysignFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCopysignFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCopysignFloat3Float3Float3() {
-        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9a9db55e1b468741l, false);
-        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8ec9f3bdc39ab32cl, false);
+        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1b468741l, false);
+        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc39ab32cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInSignValue(inSignValue);
@@ -195,11 +223,16 @@
 
     private void verifyResultsCopysignFloat3Float3Float3(Allocation inMagnitudeValue, Allocation inSignValue, Allocation out, boolean relaxed) {
         float[] arrayInMagnitudeValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMagnitudeValue, (float) 42);
         inMagnitudeValue.copyTo(arrayInMagnitudeValue);
         float[] arrayInSignValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInSignValue, (float) 42);
         inSignValue.copyTo(arrayInSignValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMagnitudeValue: ");
-                    appendVariableToMessage(message, args.inMagnitudeValue);
-                    message.append("\n");
-                    message.append("Input inSignValue: ");
-                    appendVariableToMessage(message, args.inSignValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMagnitudeValue: ");
+                        appendVariableToMessage(message, args.inMagnitudeValue);
+                        message.append("\n");
+                        message.append("Input inSignValue: ");
+                        appendVariableToMessage(message, args.inSignValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCopysignFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCopysignFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCopysignFloat4Float4Float4() {
-        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa63d618513a316fcl, false);
-        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6a589cf766669f2dl, false);
+        Allocation inMagnitudeValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x13a316fcl, false);
+        Allocation inSignValue = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x66669f2dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInSignValue(inSignValue);
@@ -261,11 +302,16 @@
 
     private void verifyResultsCopysignFloat4Float4Float4(Allocation inMagnitudeValue, Allocation inSignValue, Allocation out, boolean relaxed) {
         float[] arrayInMagnitudeValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMagnitudeValue, (float) 42);
         inMagnitudeValue.copyTo(arrayInMagnitudeValue);
         float[] arrayInSignValue = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInSignValue, (float) 42);
         inSignValue.copyTo(arrayInSignValue);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMagnitudeValue: ");
-                    appendVariableToMessage(message, args.inMagnitudeValue);
-                    message.append("\n");
-                    message.append("Input inSignValue: ");
-                    appendVariableToMessage(message, args.inSignValue);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMagnitudeValue: ");
+                        appendVariableToMessage(message, args.inMagnitudeValue);
+                        message.append("\n");
+                        message.append("Input inSignValue: ");
+                        appendVariableToMessage(message, args.inSignValue);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCopysignFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCopysignFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCopysign() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
index 4a184e2..9c321da 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCos extends RSBaseCompute {
 
     private ScriptC_TestCos script;
@@ -40,7 +42,7 @@
     }
 
     private void checkCosFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe70ae86bb80fef6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbb80fef6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testCosFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsCosFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCosFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCosFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCosFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4bb740670b2bbfaal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb2bbfaal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testCosFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsCosFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCosFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCosFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCosFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4bb909820146e088l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x146e088l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testCosFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsCosFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCosFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCosFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCosFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4bbad29cf7620166l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf7620166l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testCosFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsCosFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCosFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCosFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
index c2ea5af..f089c5f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCosh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCosh extends RSBaseCompute {
 
     private ScriptC_TestCosh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkCoshFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xfb54622d108cfb40l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x108cfb40l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testCoshFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsCoshFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCoshFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCoshFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCoshFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4453ccc34ebcf224l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4ebcf224l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testCoshFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsCoshFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCoshFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCoshFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCoshFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x445595de44d81302l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x44d81302l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testCoshFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsCoshFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCoshFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCoshFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCoshFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x44575ef93af333e0l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3af333e0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testCoshFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsCoshFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCoshFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCoshFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCosh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
index 546f69d..11325c5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCospi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCospi extends RSBaseCompute {
 
     private ScriptC_TestCospi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkCospiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x95c59d24cc7595d1l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcc7595d1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testCospiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsCospiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCospiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCospiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCospiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc026b40f81c1536dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x81c1536dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testCospiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsCospiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCospiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCospiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCospiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc0287d2a77dc744bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x77dc744bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testCospiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsCospiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCospiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCospiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCospiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc02a46456df79529l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6df79529l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testCospiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsCospiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkCospiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkCospiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCospi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
index e1a86d6..61d0021 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestCross.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestCross extends RSBaseCompute {
 
     private ScriptC_TestCross script;
@@ -41,8 +43,8 @@
     }
 
     private void checkCrossFloat3Float3Float3() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3505ebf7382f1ad4l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe9d27bf3de024b21l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x382f1ad4l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xde024b21l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsCrossFloat3Float3Float3(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloatN args = new ArgumentsFloatNFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -92,37 +99,43 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkCrossFloat3Float3Float3" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkCrossFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkCrossFloat4Float4Float4() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x15fc58a5906fbeffl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb336bd3cb0ddde5al, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x906fbeffl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb0ddde5al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -143,11 +156,16 @@
 
     private void verifyResultsCrossFloat4Float4Float4(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloatN args = new ArgumentsFloatNFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -172,32 +190,38 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkCrossFloat4Float4Float4" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkCrossFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testCross() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
index 7957795..03eee53 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDegrees.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestDegrees extends RSBaseCompute {
 
     private ScriptC_TestDegrees script;
@@ -40,7 +42,7 @@
     }
 
     private void checkDegreesFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x606ed077c5dde30al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc5dde30al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testDegreesFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsDegreesFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkDegreesFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkDegreesFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDegreesFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x803a665ae417141el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe417141el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testDegreesFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsDegreesFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkDegreesFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkDegreesFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDegreesFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x803c2f75da3234fcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xda3234fcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testDegreesFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsDegreesFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkDegreesFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkDegreesFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDegreesFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x803df890d04d55dal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd04d55dal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testDegreesFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsDegreesFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkDegreesFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkDegreesFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testDegrees() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
index 5d8dde9..6051525 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDistance.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestDistance extends RSBaseCompute {
 
     private ScriptC_TestDistance script;
@@ -41,8 +43,8 @@
     }
 
     private void checkDistanceFloatFloatFloat() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa481527082ced52al, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa38cb25366d69793l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x82ced52al, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x66d69793l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsDistanceFloatFloatFloat(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
             // Create the appropriate sized arrays in args
@@ -83,26 +90,32 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inLeftVector: ");
-                appendVariableToMessage(message, arrayInLeftVector[i]);
-                message.append("\n");
-                message.append("Input inRightVector: ");
-                appendVariableToMessage(message, arrayInRightVector[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inLeftVector: ");
+                    appendVariableToMessage(message, arrayInLeftVector[i]);
+                    message.append("\n");
+                    message.append("Input inRightVector: ");
+                    appendVariableToMessage(message, arrayInRightVector[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDistanceFloatFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDistanceFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatNFloat {
@@ -112,8 +125,8 @@
     }
 
     private void checkDistanceFloat2Float2Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbf71d23b554dab2el, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x29f22964c2248a3fl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x554dab2el, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc2248a3fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -134,11 +147,16 @@
 
     private void verifyResultsDistanceFloat2Float2Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -160,35 +178,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDistanceFloat2Float2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDistanceFloat2Float2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDistanceFloat3Float3Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8e1af7b976ec5f7cl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe05b759467ccd359l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x76ec5f7cl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x67ccd359l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -209,11 +233,16 @@
 
     private void verifyResultsDistanceFloat3Float3Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -235,35 +264,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDistanceFloat3Float3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDistanceFloat3Float3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDistanceFloat4Float4Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5cc41d37988b13cal, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x96c4c1c40d751c73l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x988b13cal, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd751c73l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -284,11 +319,16 @@
 
     private void verifyResultsDistanceFloat4Float4Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -310,30 +350,36 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDistanceFloat4Float4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDistanceFloat4Float4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testDistance() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
index ff0cd13..3898003 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestDot.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestDot extends RSBaseCompute {
 
     private ScriptC_TestDot script;
@@ -41,8 +43,8 @@
     }
 
     private void checkDotFloatFloatFloat() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x38fe5ebdf7ff2d3el, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x948dc35615f562efl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf7ff2d3el, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x15f562efl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsDotFloatFloatFloat(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
             // Create the appropriate sized arrays in args
@@ -83,26 +90,32 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inLeftVector: ");
-                appendVariableToMessage(message, arrayInLeftVector[i]);
-                message.append("\n");
-                message.append("Input inRightVector: ");
-                appendVariableToMessage(message, arrayInRightVector[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inLeftVector: ");
+                    appendVariableToMessage(message, arrayInLeftVector[i]);
+                    message.append("\n");
+                    message.append("Input inRightVector: ");
+                    appendVariableToMessage(message, arrayInRightVector[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDotFloatFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDotFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatNFloat {
@@ -112,8 +125,8 @@
     }
 
     private void checkDotFloat2Float2Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3a9fadaebf79d3a2l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdaa605c7978f55bbl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbf79d3a2l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x978f55bbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -134,11 +147,16 @@
 
     private void verifyResultsDotFloat2Float2Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -160,35 +178,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDotFloat2Float2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDotFloat2Float2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDotFloat3Float3Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x948d32ce11887f0l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x910f51f73d379ed5l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe11887f0l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3d379ed5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -209,11 +233,16 @@
 
     private void verifyResultsDotFloat3Float3Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -235,35 +264,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDotFloat3Float3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDotFloat3Float3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkDotFloat4Float4Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd7f1f8ab02b73c3el, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x47789e26e2dfe7efl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2b73c3el, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe2dfe7efl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -284,11 +319,16 @@
 
     private void verifyResultsDotFloat4Float4Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -310,30 +350,36 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkDotFloat4Float4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkDotFloat4Float4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testDot() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
index 5313413..bc3a073 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErf.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestErf extends RSBaseCompute {
 
     private ScriptC_TestErf script;
@@ -40,7 +42,7 @@
     }
 
     private void checkErfFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xccfbfd30a3951fb8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa3951fb8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testErfFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsErfFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x87e26994448c58dcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x448c58dcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testErfFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsErfFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x87e432af3aa779bal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3aa779bal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testErfFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsErfFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x87e5fbca30c29a98l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x30c29a98l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testErfFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsErfFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testErf() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
index 0a9d670..856bcf4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestErfc.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestErfc extends RSBaseCompute {
 
     private ScriptC_TestErfc script;
@@ -40,7 +42,7 @@
     }
 
     private void checkErfcFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x40344e4f0dfa008fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdfa008fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testErfcFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsErfcFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfcFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfcFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfcFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb9a44e42b72849bbl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb72849bbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testErfcFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsErfcFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfcFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfcFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfcFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb9a6175dad436a99l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xad436a99l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testErfcFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsErfcFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfcFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfcFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkErfcFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb9a7e078a35e8b77l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa35e8b77l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testErfcFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsErfcFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkErfcFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkErfcFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testErfc() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
index 2f03d77..8e73056 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestExp extends RSBaseCompute {
 
     private ScriptC_TestExp script;
@@ -40,7 +42,7 @@
     }
 
     private void checkExpFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x45e6c49035f888fcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x35f888fcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testExpFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsExpFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdf9c6adc948fa500l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x948fa500l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testExpFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsExpFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdf9e33f78aaac5del, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8aaac5del, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testExpFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsExpFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdf9ffd1280c5e6bcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x80c5e6bcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testExpFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsExpFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testExp() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
index 11668c7..fd01beb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp10.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestExp10 extends RSBaseCompute {
 
     private ScriptC_TestExp10 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkExp10FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc5df97aec123e2edl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc123e2edl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testExp10FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsExp10FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp10FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp10FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp10Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2bc94277c0ac42a9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc0ac42a9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testExp10Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsExp10Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp10Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp10Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp10Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2bcb0b92b6c76387l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb6c76387l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testExp10Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsExp10Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp10Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp10Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp10Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2bccd4adace28465l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xace28465l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testExp10Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsExp10Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp10Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp10Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testExp10() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
index d5696ec..8d1c698 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExp2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestExp2 extends RSBaseCompute {
 
     private ScriptC_TestExp2 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkExp2FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x58195894b8b72a10l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb8b72a10l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testExp2FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsExp2FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp2FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp2FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4eeb7f70e7690e74l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe7690e74l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testExp2Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsExp2Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp2Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4eed488bdd842f52l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdd842f52l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testExp2Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsExp2Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp2Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp2Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExp2Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4eef11a6d39f5030l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd39f5030l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testExp2Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsExp2Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExp2Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExp2Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testExp2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
index 93596f7..6a1609f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestExpm1.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestExpm1 extends RSBaseCompute {
 
     private ScriptC_TestExpm1 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkExpm1FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xea420692a183a9e4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa183a9e4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testExpm1FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsExpm1FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpm1FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpm1FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpm1Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf6bc2e57547050a8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x547050a8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testExpm1Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsExpm1Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpm1Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpm1Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpm1Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf6bdf7724a8b7186l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4a8b7186l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testExpm1Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsExpm1Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpm1Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpm1Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkExpm1Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf6bfc08d40a69264l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x40a69264l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testExpm1Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsExpm1Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkExpm1Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkExpm1Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testExpm1() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
index 38c5321..9303e7e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFabs.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFabs extends RSBaseCompute {
 
     private ScriptC_TestFabs script;
@@ -40,7 +42,7 @@
     }
 
     private void checkFabsFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd84cf8f27f929ae9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7f929ae9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFabsFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsFabsFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFabsFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFabsFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFabsFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x43ccc4c22e5b1dc5l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2e5b1dc5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testFabsFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsFabsFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFabsFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFabsFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFabsFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x43ce8ddd24763ea3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x24763ea3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testFabsFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsFabsFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFabsFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFabsFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFabsFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x43d056f81a915f81l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1a915f81l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testFabsFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsFabsFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFabsFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFabsFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFabs() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
index a1181ba..e10d5df 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastDistance.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFastDistance extends RSBaseCompute {
 
     private ScriptC_TestFastDistance script;
@@ -41,8 +43,8 @@
     }
 
     private void checkFastDistanceFloatFloatFloat() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xeb32e5abb9b28b1al, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x83606d459f1626e3l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb9b28b1al, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9f1626e3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsFastDistanceFloatFloatFloat(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
             // Create the appropriate sized arrays in args
@@ -83,26 +90,32 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inLeftVector: ");
-                appendVariableToMessage(message, arrayInLeftVector[i]);
-                message.append("\n");
-                message.append("Input inRightVector: ");
-                appendVariableToMessage(message, arrayInRightVector[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inLeftVector: ");
+                    appendVariableToMessage(message, arrayInLeftVector[i]);
+                    message.append("\n");
+                    message.append("Input inRightVector: ");
+                    appendVariableToMessage(message, arrayInRightVector[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastDistanceFloatFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastDistanceFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatNFloat {
@@ -112,8 +125,8 @@
     }
 
     private void checkFastDistanceFloat2Float2Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x580238eac7fabd9el, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xca3368dd0536a30fl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc7fabd9el, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x536a30fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -134,11 +147,16 @@
 
     private void verifyResultsFastDistanceFloat2Float2Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -160,35 +178,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastDistanceFloat2Float2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastDistanceFloat2Float2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastDistanceFloat3Float3Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x26ab5e68e99971ecl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x809cb50caadeec29l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe99971ecl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xaadeec29l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -209,11 +233,16 @@
 
     private void verifyResultsFastDistanceFloat3Float3Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -235,35 +264,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastDistanceFloat3Float3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastDistanceFloat3Float3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastDistanceFloat4Float4Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf55483e70b38263al, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3706013c50873543l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb38263al, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x50873543l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -284,11 +319,16 @@
 
     private void verifyResultsFastDistanceFloat4Float4Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -310,30 +350,36 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastDistanceFloat4Float4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastDistanceFloat4Float4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFastDistance() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
index 26c800b..b47adc9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastLength.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFastLength extends RSBaseCompute {
 
     private ScriptC_TestFastLength script;
@@ -40,7 +42,7 @@
     }
 
     private void checkFastLengthFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xebac65aea2660e8fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa2660e8fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFastLengthFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsFastLengthFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastLengthFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastLengthFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloat {
@@ -101,7 +113,7 @@
     }
 
     private void checkFastLengthFloat2Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x95f43650f85e6cadl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf85e6cadl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFastLengthFloat2Float(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsFastLengthFloat2Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -140,29 +156,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastLengthFloat2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastLengthFloat2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastLengthFloat3Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x95f440f25764fb0el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5764fb0el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFastLengthFloat3Float(inV, out);
@@ -181,9 +203,13 @@
 
     private void verifyResultsFastLengthFloat3Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -201,29 +227,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastLengthFloat3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastLengthFloat3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastLengthFloat4Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x95f44b93b66b896fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb66b896fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFastLengthFloat4Float(inV, out);
@@ -242,9 +274,13 @@
 
     private void verifyResultsFastLengthFloat4Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -262,25 +298,31 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastLengthFloat4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastLengthFloat4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFastLength() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
index 211a6e6..2c3ac1a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFastNormalize.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFastNormalize extends RSBaseCompute {
 
     private ScriptC_TestFastNormalize script;
@@ -40,7 +42,7 @@
     }
 
     private void checkFastNormalizeFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcfb9adc9f8882ecl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9f8882ecl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFastNormalizeFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsFastNormalizeFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkFastNormalizeFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastNormalizeFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatN {
@@ -101,7 +113,7 @@
     }
 
     private void checkFastNormalizeFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x151c38c30573db70l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x573db70l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testFastNormalizeFloat2Float2(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsFastNormalizeFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -143,31 +159,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkFastNormalizeFloat2Float2" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastNormalizeFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastNormalizeFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x151e01ddfb8efc4el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb8efc4el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testFastNormalizeFloat3Float3(inV, out);
@@ -186,9 +208,13 @@
 
     private void verifyResultsFastNormalizeFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -209,31 +235,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkFastNormalizeFloat3Float3" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastNormalizeFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFastNormalizeFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x151fcaf8f1aa1d2cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf1aa1d2cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testFastNormalizeFloat4Float4(inV, out);
@@ -252,9 +284,13 @@
 
     private void verifyResultsFastNormalizeFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -275,27 +311,33 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkFastNormalizeFloat4Float4" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkFastNormalizeFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFastNormalize() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
index 7d053fa..c817296 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFdim.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFdim extends RSBaseCompute {
 
     private ScriptC_TestFdim script;
@@ -41,8 +43,8 @@
     }
 
     private void checkFdimFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf5dd38fbc3a47366l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf5dd38fbc3a47367l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc3a47366l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc3a47367l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsFdimFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFdimFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFdimFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFdimFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xca6a96c16f167f4cl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xca6a96c16f167f4dl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6f167f4cl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6f167f4dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsFdimFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFdimFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFdimFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFdimFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1ecf74e170f480edl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1ecf74e170f480eel, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x70f480edl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x70f480eel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsFdimFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFdimFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFdimFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFdimFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7334530172d2828el, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7334530172d2828fl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x72d2828el, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x72d2828fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsFdimFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFdimFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFdimFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFdim() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
index 3b17241..0ebc227 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFloor.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFloor extends RSBaseCompute {
 
     private ScriptC_TestFloor script;
@@ -40,7 +42,7 @@
     }
 
     private void checkFloorFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3b3c924b95badeadl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x95badeadl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFloorFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsFloorFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFloorFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFloorFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFloorFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd8575933372c9069l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x372c9069l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testFloorFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsFloorFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFloorFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFloorFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFloorFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd859224e2d47b147l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2d47b147l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testFloorFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsFloorFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFloorFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFloorFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFloorFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd85aeb692362d225l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2362d225l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testFloorFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsFloorFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFloorFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFloorFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFloor() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
index 24923a3..f5f30b3 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFma.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFma extends RSBaseCompute {
 
     private ScriptC_TestFma script;
@@ -42,9 +44,9 @@
     }
 
     private void checkFmaFloatFloatFloatFloat() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x716293a685c419bel, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x716293a685c419bfl, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4a235a109d441b0el, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x85c419bel, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x85c419bfl, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9d441b0el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -67,13 +69,19 @@
 
     private void verifyResultsFmaFloatFloatFloatFloat(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -90,36 +98,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaFloatFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaFloatFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaFloat2Float2Float2Float2() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1bb42af9dda15056l, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1bb42af9dda15057l, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x667fbd778aeda396l, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdda15056l, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdda15057l, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8aeda396l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -142,13 +158,19 @@
 
     private void verifyResultsFmaFloat2Float2Float2Float2(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -165,36 +187,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaFloat2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaFloat2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaFloat3Float3Float3Float3() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x19169f2d349697b2l, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x19169f2d349697b3l, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3a56bf5454d5ec8al, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x349697b2l, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x349697b3l, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x54d5ec8al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -217,13 +247,19 @@
 
     private void verifyResultsFmaFloat3Float3Float3Float3(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -240,36 +276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaFloat3Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaFloat3Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaFloat4Float4Float4Float4() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x167913608b8bdf0el, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x167913608b8bdf0fl, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe2dc1311ebe357el, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8b8bdf0el, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8b8bdf0fl, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1ebe357el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -292,13 +336,19 @@
 
     private void verifyResultsFmaFloat4Float4Float4Float4(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -315,30 +365,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaFloat4Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaFloat4Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFma() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
index 046b564..56ea3d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmax.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFmax extends RSBaseCompute {
 
     private ScriptC_TestFmax script;
@@ -41,8 +43,8 @@
     }
 
     private void checkFmaxFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe6ec75a46e6fdd7al, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe6ec75a46e6fdd7bl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6e6fdd7al, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6e6fdd7bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsFmaxFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa99eaa6dd458a0c8l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa99eaa6dd458a0c9l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd458a0c8l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd458a0c9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsFmaxFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfe03888dd636a269l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfe03888dd636a26al, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd636a269l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd636a26al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsFmaxFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x526866add814a40al, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x526866add814a40bl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd814a40al, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd814a40bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsFmaxFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,32 +327,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat2FloatFloat2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xce5ddc06dc631102l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xce5ddc06dc631103l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdc631102l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdc631103l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -327,11 +381,16 @@
 
     private void verifyResultsFmaxFloat2FloatFloat2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -347,32 +406,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat2FloatFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat2FloatFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat3FloatFloat3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x23ad8f1ecace055el, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x23ad8f1ecace055fl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xcace055el, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcace055fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -393,11 +460,16 @@
 
     private void verifyResultsFmaxFloat3FloatFloat3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -413,32 +485,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat3FloatFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat3FloatFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmaxFloat4FloatFloat4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x78fd4236b938f9bal, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x78fd4236b938f9bbl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb938f9bal, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb938f9bbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -459,11 +539,16 @@
 
     private void verifyResultsFmaxFloat4FloatFloat4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -479,27 +564,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmaxFloat4FloatFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmaxFloat4FloatFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFmax() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
index 2b05df4..c96daa4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFmin extends RSBaseCompute {
 
     private ScriptC_TestFmin script;
@@ -41,8 +43,8 @@
     }
 
     private void checkFminFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7b46a8451d7b1058l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7b46a8451d7b1059l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1d7b1058l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1d7b1059l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsFminFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x12b850a9e75faa42l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x12b850a9e75faa43l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe75faa42l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe75faa43l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsFminFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x671d2ec9e93dabe3l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x671d2ec9e93dabe4l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe93dabe3l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe93dabe4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsFminFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbb820ce9eb1bad84l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbb820ce9eb1bad85l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xeb1bad84l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xeb1bad85l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsFminFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,32 +327,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat2FloatFloat2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4dd5869724457670l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4dd5869724457671l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x24457670l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x24457671l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -327,11 +381,16 @@
 
     private void verifyResultsFminFloat2FloatFloat2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -347,32 +406,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat2FloatFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat2FloatFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat3FloatFloat3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa32539af12b06accl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa32539af12b06acdl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x12b06accl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x12b06acdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -393,11 +460,16 @@
 
     private void verifyResultsFminFloat3FloatFloat3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -413,32 +485,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat3FloatFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat3FloatFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFminFloat4FloatFloat4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf874ecc7011b5f28l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf874ecc7011b5f29l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x11b5f28l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x11b5f29l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -459,11 +539,16 @@
 
     private void verifyResultsFminFloat4FloatFloat4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -479,27 +564,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFminFloat4FloatFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFminFloat4FloatFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFmin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
index 72beaa4..442cad9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFmod.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFmod extends RSBaseCompute {
 
     private ScriptC_TestFmod script;
@@ -41,8 +43,8 @@
     }
 
     private void checkFmodFloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xed70b65ddcc790e8l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xeff8dc0a04b044e1l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcc790e8l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4b044e1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsFmodFloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmodFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmodFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmodFloat2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x84bcef91ebd95a82l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb582050adc295e2bl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xebd95a82l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdc295e2bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsFmodFloat2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmodFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmodFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmodFloat3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x604b98cb8ea54683l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7ee64653af04f164l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8ea54683l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xaf04f164l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsFmodFloat3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmodFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmodFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFmodFloat4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3bda420531713284l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x484a879c81e0849dl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x31713284l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x81e0849dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsFmodFloat4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFmodFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFmodFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFmod() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
index ce7a671..11ad1be 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFract.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFract extends RSBaseCompute {
 
     private ScriptC_TestFract script;
@@ -41,7 +43,7 @@
     }
 
     private void checkFractFloatFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x57d8e6573c675d27l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3c675d27l, false);
         try {
             Allocation outFloor = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -64,11 +66,16 @@
 
     private void verifyResultsFractFloatFloatFloat(Allocation inV, Allocation outFloor, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutFloor = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOutFloor, (float) 42);
         outFloor.copyTo(arrayOutFloor);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -86,37 +93,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outFloor: ");
-                    appendVariableToMessage(message, args.outFloor);
-                    message.append("\n");
-                    message.append("Actual   output outFloor: ");
-                    appendVariableToMessage(message, arrayOutFloor[i * 1 + j]);
-                    if (!args.outFloor.couldBe(arrayOutFloor[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outFloor: ");
+                        appendVariableToMessage(message, args.outFloor);
+                        message.append("\n");
+                        message.append("Actual   output outFloor: ");
+                        appendVariableToMessage(message, arrayOutFloor[i * 1 + j]);
+                        if (!args.outFloor.couldBe(arrayOutFloor[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd1dbe683cdf8f525l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xcdf8f525l, false);
         try {
             Allocation outFloor = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -139,11 +154,16 @@
 
     private void verifyResultsFractFloat2Float2Float2(Allocation inV, Allocation outFloor, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutFloor = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOutFloor, (float) 42);
         outFloor.copyTo(arrayOutFloor);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -161,37 +181,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outFloor: ");
-                    appendVariableToMessage(message, args.outFloor);
-                    message.append("\n");
-                    message.append("Actual   output outFloor: ");
-                    appendVariableToMessage(message, arrayOutFloor[i * 2 + j]);
-                    if (!args.outFloor.couldBe(arrayOutFloor[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outFloor: ");
+                        appendVariableToMessage(message, args.outFloor);
+                        message.append("\n");
+                        message.append("Actual   output outFloor: ");
+                        appendVariableToMessage(message, arrayOutFloor[i * 2 + j]);
+                        if (!args.outFloor.couldBe(arrayOutFloor[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat3Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2640c4a3cfd6f6c6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xcfd6f6c6l, false);
         try {
             Allocation outFloor = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -214,11 +242,16 @@
 
     private void verifyResultsFractFloat3Float3Float3(Allocation inV, Allocation outFloor, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutFloor = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutFloor, (float) 42);
         outFloor.copyTo(arrayOutFloor);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -236,37 +269,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outFloor: ");
-                    appendVariableToMessage(message, args.outFloor);
-                    message.append("\n");
-                    message.append("Actual   output outFloor: ");
-                    appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
-                    if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outFloor: ");
+                        appendVariableToMessage(message, args.outFloor);
+                        message.append("\n");
+                        message.append("Actual   output outFloor: ");
+                        appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
+                        if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat4Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7aa5a2c3d1b4f867l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd1b4f867l, false);
         try {
             Allocation outFloor = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -289,11 +330,16 @@
 
     private void verifyResultsFractFloat4Float4Float4(Allocation inV, Allocation outFloor, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutFloor = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutFloor, (float) 42);
         outFloor.copyTo(arrayOutFloor);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -311,33 +357,41 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outFloor: ");
-                    appendVariableToMessage(message, args.outFloor);
-                    message.append("\n");
-                    message.append("Actual   output outFloor: ");
-                    appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
-                    if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outFloor: ");
+                        appendVariableToMessage(message, args.outFloor);
+                        message.append("\n");
+                        message.append("Actual   output outFloor: ");
+                        appendVariableToMessage(message, arrayOutFloor[i * 4 + j]);
+                        if (!args.outFloor.couldBe(arrayOutFloor[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatFloat {
@@ -346,7 +400,7 @@
     }
 
     private void checkFractFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf559208b9db2cad3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9db2cad3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testFractFloatFloat(inV, out);
@@ -365,9 +419,13 @@
 
     private void verifyResultsFractFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -382,28 +440,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1096c5acc4d52edfl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc4d52edfl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testFractFloat2Float2(inV, out);
@@ -422,9 +488,13 @@
 
     private void verifyResultsFractFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -439,28 +509,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x10988ec7baf04fbdl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbaf04fbdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testFractFloat3Float3(inV, out);
@@ -479,9 +557,13 @@
 
     private void verifyResultsFractFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -496,28 +578,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFractFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x109a57e2b10b709bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb10b709bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testFractFloat4Float4(inV, out);
@@ -536,9 +626,13 @@
 
     private void verifyResultsFractFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -553,24 +647,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFractFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFractFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFract() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
index 6d47860..72de03e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestFrexp.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestFrexp extends RSBaseCompute {
 
     private ScriptC_TestFrexp script;
@@ -41,7 +43,7 @@
     }
 
     private void checkFrexpFloatIntFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x57ae9fe07384e56dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7384e56dl, false);
         try {
             Allocation outExponent = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -64,11 +66,16 @@
 
     private void verifyResultsFrexpFloatIntFloat(Allocation inV, Allocation outExponent, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOutExponent, (int) 42);
         outExponent.copyTo(arrayOutExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -86,37 +93,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outExponent: ");
-                    appendVariableToMessage(message, args.outExponent);
-                    message.append("\n");
-                    message.append("Actual   output outExponent: ");
-                    appendVariableToMessage(message, arrayOutExponent[i * 1 + j]);
-                    if (args.outExponent != arrayOutExponent[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outExponent: ");
+                        appendVariableToMessage(message, args.outExponent);
+                        message.append("\n");
+                        message.append("Actual   output outExponent: ");
+                        appendVariableToMessage(message, arrayOutExponent[i * 1 + j]);
+                        if (args.outExponent != arrayOutExponent[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFrexpFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFrexpFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFrexpFloat2Int2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x544e0a688fe7701l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x88fe7701l, false);
         try {
             Allocation outExponent = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -139,11 +154,16 @@
 
     private void verifyResultsFrexpFloat2Int2Float2(Allocation inV, Allocation outExponent, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutExponent = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOutExponent, (int) 42);
         outExponent.copyTo(arrayOutExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -161,37 +181,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outExponent: ");
-                    appendVariableToMessage(message, args.outExponent);
-                    message.append("\n");
-                    message.append("Actual   output outExponent: ");
-                    appendVariableToMessage(message, arrayOutExponent[i * 2 + j]);
-                    if (args.outExponent != arrayOutExponent[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outExponent: ");
+                        appendVariableToMessage(message, args.outExponent);
+                        message.append("\n");
+                        message.append("Actual   output outExponent: ");
+                        appendVariableToMessage(message, arrayOutExponent[i * 2 + j]);
+                        if (args.outExponent != arrayOutExponent[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFrexpFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFrexpFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFrexpFloat3Int3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2afb1f097eb0e3bal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7eb0e3bal, false);
         try {
             Allocation outExponent = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -214,11 +242,16 @@
 
     private void verifyResultsFrexpFloat3Int3Float3(Allocation inV, Allocation outExponent, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutExponent, (int) 42);
         outExponent.copyTo(arrayOutExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -236,37 +269,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outExponent: ");
-                    appendVariableToMessage(message, args.outExponent);
-                    message.append("\n");
-                    message.append("Actual   output outExponent: ");
-                    appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
-                    if (args.outExponent != arrayOutExponent[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outExponent: ");
+                        appendVariableToMessage(message, args.outExponent);
+                        message.append("\n");
+                        message.append("Actual   output outExponent: ");
+                        appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
+                        if (args.outExponent != arrayOutExponent[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFrexpFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFrexpFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkFrexpFloat4Int4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x50b15d6c74635073l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x74635073l, false);
         try {
             Allocation outExponent = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -289,11 +330,16 @@
 
     private void verifyResultsFrexpFloat4Int4Float4(Allocation inV, Allocation outExponent, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutExponent, (int) 42);
         outExponent.copyTo(arrayOutExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -311,33 +357,41 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outExponent: ");
-                    appendVariableToMessage(message, args.outExponent);
-                    message.append("\n");
-                    message.append("Actual   output outExponent: ");
-                    appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
-                    if (args.outExponent != arrayOutExponent[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outExponent: ");
+                        appendVariableToMessage(message, args.outExponent);
+                        message.append("\n");
+                        message.append("Actual   output outExponent: ");
+                        appendVariableToMessage(message, arrayOutExponent[i * 4 + j]);
+                        if (args.outExponent != arrayOutExponent[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkFrexpFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkFrexpFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testFrexp() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
index 854d432..4793b6d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRecip.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestHalfRecip extends RSBaseCompute {
 
     private ScriptC_TestHalfRecip script;
@@ -40,7 +42,7 @@
     }
 
     private void checkHalfRecipFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x854e263130d5b3dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x130d5b3dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testHalfRecipFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsHalfRecipFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRecipFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRecipFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRecipFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2cf1d2db5ff23c79l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5ff23c79l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testHalfRecipFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsHalfRecipFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRecipFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRecipFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRecipFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2cf39bf6560d5d57l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x560d5d57l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testHalfRecipFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsHalfRecipFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRecipFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRecipFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRecipFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2cf565114c287e35l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4c287e35l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testHalfRecipFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsHalfRecipFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRecipFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRecipFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testHalfRecip() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
index 68746e7..efe890a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfRsqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestHalfRsqrt extends RSBaseCompute {
 
     private ScriptC_TestHalfRsqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkHalfRsqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xad5e977ec00f0bf2l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc00f0bf2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testHalfRsqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsHalfRsqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRsqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRsqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRsqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x300ee7bff12787c6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf12787c6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testHalfRsqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsHalfRsqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRsqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRsqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRsqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3010b0dae742a8a4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe742a8a4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testHalfRsqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsHalfRsqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRsqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRsqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfRsqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x301279f5dd5dc982l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdd5dc982l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testHalfRsqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsHalfRsqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfRsqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfRsqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testHalfRsqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
index a924937..9cf3ff2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHalfSqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestHalfSqrt extends RSBaseCompute {
 
     private ScriptC_TestHalfSqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkHalfSqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x8be766c7a15db5fal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa15db5fal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testHalfSqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsHalfSqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfSqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfSqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfSqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7a300d2342519b8el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x42519b8el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testHalfSqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsHalfSqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfSqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfSqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfSqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7a31d63e386cbc6cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x386cbc6cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testHalfSqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsHalfSqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfSqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfSqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHalfSqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7a339f592e87dd4al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2e87dd4al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testHalfSqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsHalfSqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHalfSqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHalfSqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testHalfSqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
index d2231b2..8f2e5dd 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestHypot.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestHypot extends RSBaseCompute {
 
     private ScriptC_TestHypot script;
@@ -41,8 +43,8 @@
     }
 
     private void checkHypotFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7deb65e7738c74c4l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7deb65e7738c74c5l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x738c74c4l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x738c74c5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsHypotFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHypotFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHypotFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHypotFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x14f3c91a62f71c46l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x14f3c91a62f71c47l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x62f71c46l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x62f71c47l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsHypotFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHypotFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHypotFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHypotFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6958a73a64d51de7l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6958a73a64d51de8l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x64d51de7l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x64d51de8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsHypotFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHypotFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHypotFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkHypotFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbdbd855a66b31f88l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbdbd855a66b31f89l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x66b31f88l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x66b31f89l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsHypotFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkHypotFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkHypotFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testHypot() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
index dddddf5..8a24f7a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestIlogb.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestIlogb extends RSBaseCompute {
 
     private ScriptC_TestIlogb script;
@@ -40,7 +42,7 @@
     }
 
     private void checkIlogbFloatInt() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6103ca4b5664967bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5664967bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             script.forEach_testIlogbFloatInt(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsIlogbFloatInt(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -73,23 +79,31 @@
                 String errorMessage = CoreMathVerifier.verifyIlogb(args);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkIlogbFloatInt" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkIlogbFloatInt" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkIlogbFloat2Int2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb460143cb6f32a61l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb6f32a61l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.forEach_testIlogbFloat2Int2(inV, out);
@@ -108,9 +122,13 @@
 
     private void verifyResultsIlogbFloat2Int2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -122,23 +140,31 @@
                 String errorMessage = CoreMathVerifier.verifyIlogb(args);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkIlogbFloat2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkIlogbFloat2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkIlogbFloat3Int3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb460147c009b3a97l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9b3a97l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.forEach_testIlogbFloat3Int3(inV, out);
@@ -157,9 +183,13 @@
 
     private void verifyResultsIlogbFloat3Int3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -171,23 +201,31 @@
                 String errorMessage = CoreMathVerifier.verifyIlogb(args);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkIlogbFloat3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkIlogbFloat3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkIlogbFloat4Int4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb46014bb4a434acdl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4a434acdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.forEach_testIlogbFloat4Int4(inV, out);
@@ -206,9 +244,13 @@
 
     private void verifyResultsIlogbFloat4Int4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -220,19 +262,27 @@
                 String errorMessage = CoreMathVerifier.verifyIlogb(args);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkIlogbFloat4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkIlogbFloat4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testIlogb() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
index 5f85aeb..6dc48ed 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLdexp.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLdexp extends RSBaseCompute {
 
     private ScriptC_TestLdexp script;
@@ -41,8 +43,8 @@
     }
 
     private void checkLdexpFloatIntFloat() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdffd225490f0e26fl, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xdffd207c2e4133c4l, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x90f0e26fl, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x2e4133c4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -63,11 +65,16 @@
 
     private void verifyResultsLdexpFloatIntFloat(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat2Int2Float2() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7d0b1a44fe92893l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x7d0afcbed3979e8l, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4fe92893l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xed3979e8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -129,11 +144,16 @@
 
     private void verifyResultsLdexpFloat2Int2Float2(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat3Int3Float3() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa8e041253fa3335el, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xa8e03f4cdcf384b3l, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3fa3335el, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xdcf384b3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -195,11 +223,16 @@
 
     private void verifyResultsLdexpFloat3Int3Float3(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat4Int4Float4() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x49efd0a62f5d3e29l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x49efcecdccad8f7el, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2f5d3e29l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xccad8f7el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -261,11 +302,16 @@
 
     private void verifyResultsLdexpFloat4Int4Float4(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,32 +327,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat2IntFloat2() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6a72b89838bd38d1l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x6a72b6bfd60d8a26l, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x38bd38d1l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xd60d8a26l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -327,11 +381,16 @@
 
     private void verifyResultsLdexpFloat2IntFloat2(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -347,32 +406,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat2IntFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat2IntFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat3IntFloat3() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x49ba40205150f83dl, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x49ba3e47eea14992l, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5150f83dl, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xeea14992l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -393,11 +460,16 @@
 
     private void verifyResultsLdexpFloat3IntFloat3(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -413,32 +485,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat3IntFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat3IntFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLdexpFloat4IntFloat4() {
-        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2901c7a869e4b7a9l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x2901c5d0073508fel, false);
+        Allocation inMantissa = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x69e4b7a9l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x73508fel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -459,11 +539,16 @@
 
     private void verifyResultsLdexpFloat4IntFloat4(Allocation inMantissa, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInMantissa = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMantissa, (float) 42);
         inMantissa.copyTo(arrayInMantissa);
         int[] arrayInExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -479,27 +564,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMantissa: ");
-                    appendVariableToMessage(message, args.inMantissa);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMantissa: ");
+                        appendVariableToMessage(message, args.inMantissa);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLdexpFloat4IntFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLdexpFloat4IntFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLdexp() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
index 3aa7964..1e91f42 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLength.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLength extends RSBaseCompute {
 
     private ScriptC_TestLength script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLengthFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x8119352509f7cc9fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9f7cc9fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLengthFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLengthFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkLengthFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkLengthFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloat {
@@ -101,7 +113,7 @@
     }
 
     private void checkLengthFloat2Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xaf3b0f345dd9595dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5dd9595dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLengthFloat2Float(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsLengthFloat2Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -140,29 +156,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkLengthFloat2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkLengthFloat2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLengthFloat3Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xaf3b19d5bcdfe7bel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbcdfe7bel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLengthFloat3Float(inV, out);
@@ -181,9 +203,13 @@
 
     private void verifyResultsLengthFloat3Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -201,29 +227,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkLengthFloat3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkLengthFloat3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLengthFloat4Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xaf3b24771be6761fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1be6761fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLengthFloat4Float(inV, out);
@@ -242,9 +274,13 @@
 
     private void verifyResultsLengthFloat4Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -262,25 +298,31 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkLengthFloat4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkLengthFloat4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLength() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
index a9bf973..073be67 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLgamma.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLgamma extends RSBaseCompute {
 
     private ScriptC_TestLgamma script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLgammaFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd9395583050bc4bel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x50bc4bel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLgammaFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLgammaFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLgammaFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xeef55496367a4132l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x367a4132l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLgammaFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLgammaFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLgammaFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xeef71db12c956210l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2c956210l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLgammaFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLgammaFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLgammaFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xeef8e6cc22b082eel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x22b082eel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLgammaFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLgammaFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLgammaFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatIntFloat {
@@ -274,7 +324,7 @@
     }
 
     private void checkLgammaFloatIntFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2a62d992979c4bb7l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x979c4bb7l, false);
         try {
             Allocation outSignOfGamma = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -297,11 +347,16 @@
 
     private void verifyResultsLgammaFloatIntFloat(Allocation inV, Allocation outSignOfGamma, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutSignOfGamma = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOutSignOfGamma, (int) 42);
         outSignOfGamma.copyTo(arrayOutSignOfGamma);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -315,26 +370,34 @@
                 String errorMessage = CoreMathVerifier.verifyLgamma(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output outSignOfGamma: ");
-                    appendVariableToMessage(message, args.outSignOfGamma);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkLgammaFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output outSignOfGamma: ");
+                        appendVariableToMessage(message, args.outSignOfGamma);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat2Int2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x409fb9a5984bcf7fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x984bcf7fl, false);
         try {
             Allocation outSignOfGamma = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -357,11 +420,16 @@
 
     private void verifyResultsLgammaFloat2Int2Float2(Allocation inV, Allocation outSignOfGamma, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutSignOfGamma = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOutSignOfGamma, (int) 42);
         outSignOfGamma.copyTo(arrayOutSignOfGamma);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -375,26 +443,34 @@
                 String errorMessage = CoreMathVerifier.verifyLgamma(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output outSignOfGamma: ");
-                    appendVariableToMessage(message, args.outSignOfGamma);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkLgammaFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output outSignOfGamma: ");
+                        appendVariableToMessage(message, args.outSignOfGamma);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat3Int3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6655f8088dfe3c38l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8dfe3c38l, false);
         try {
             Allocation outSignOfGamma = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -417,11 +493,16 @@
 
     private void verifyResultsLgammaFloat3Int3Float3(Allocation inV, Allocation outSignOfGamma, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutSignOfGamma = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutSignOfGamma, (int) 42);
         outSignOfGamma.copyTo(arrayOutSignOfGamma);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -435,26 +516,34 @@
                 String errorMessage = CoreMathVerifier.verifyLgamma(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output outSignOfGamma: ");
-                    appendVariableToMessage(message, args.outSignOfGamma);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkLgammaFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output outSignOfGamma: ");
+                        appendVariableToMessage(message, args.outSignOfGamma);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLgammaFloat4Int4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8c0c366b83b0a8f1l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x83b0a8f1l, false);
         try {
             Allocation outSignOfGamma = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -477,11 +566,16 @@
 
     private void verifyResultsLgammaFloat4Int4Float4(Allocation inV, Allocation outSignOfGamma, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayOutSignOfGamma = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutSignOfGamma, (int) 42);
         outSignOfGamma.copyTo(arrayOutSignOfGamma);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -495,22 +589,30 @@
                 String errorMessage = CoreMathVerifier.verifyLgamma(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Output outSignOfGamma: ");
-                    appendVariableToMessage(message, args.outSignOfGamma);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkLgammaFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Output outSignOfGamma: ");
+                        appendVariableToMessage(message, args.outSignOfGamma);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLgammaFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLgamma() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
index 59d612d..2cd529e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLog extends RSBaseCompute {
 
     private ScriptC_TestLog script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLogFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4176ec542a43578dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2a43578dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLogFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLogFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd3cba12c04dd9a49l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4dd9a49l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLogFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLogFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd3cd6a46faf8bb27l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfaf8bb27l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLogFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLogFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd3cf3361f113dc05l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf113dc05l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLogFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLogFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLog() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
index 1271640..de534f0 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog10.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLog10 extends RSBaseCompute {
 
     private ScriptC_TestLog10 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLog10FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xba0ecdfe3171d836l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3171d836l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLog10FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLog10FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog10FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog10FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog10Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd4c88639e3bcdeeal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe3bcdeeal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLog10Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLog10Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog10Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog10Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog10Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd4ca4f54d9d7ffc8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd9d7ffc8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLog10Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLog10Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog10Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog10Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog10Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd4cc186fcff320a6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xcff320a6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLog10Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLog10Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog10Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog10Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLog10() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
index 4cb23ba..3bc188a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog1p.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLog1p extends RSBaseCompute {
 
     private ScriptC_TestLog1p script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLog1pFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x272c1ffe1744cef6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1744cef6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLog1pFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLog1pFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog1pFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog1pFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog1pFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xed8dc77cd4750faal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd4750faal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLog1pFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLog1pFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog1pFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog1pFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog1pFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xed8f9097ca903088l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xca903088l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLog1pFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLog1pFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog1pFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog1pFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog1pFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xed9159b2c0ab5166l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc0ab5166l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLog1pFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLog1pFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog1pFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog1pFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLog1p() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
index 25676bf..ea4b352 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLog2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLog2 extends RSBaseCompute {
 
     private ScriptC_TestLog2 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLog2FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9950067ec147dc6bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc147dc6bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLog2FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLog2FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog2FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog2FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x52d99ec8c48141b7l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc48141b7l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLog2Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLog2Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog2Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x52db67e3ba9c6295l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xba9c6295l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLog2Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLog2Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog2Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog2Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLog2Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x52dd30feb0b78373l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb0b78373l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLog2Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLog2Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLog2Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLog2Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLog2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
index 67bd1c3..b351a39 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestLogb.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestLogb extends RSBaseCompute {
 
     private ScriptC_TestLogb script;
@@ -40,7 +42,7 @@
     }
 
     private void checkLogbFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xab2603feada6157bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xada6157bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testLogbFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsLogbFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogbFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogbFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogbFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x256d8fbaf90b6647l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf90b6647l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testLogbFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsLogbFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogbFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogbFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogbFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x256f58d5ef268725l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xef268725l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testLogbFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsLogbFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogbFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogbFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkLogbFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x257121f0e541a803l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe541a803l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testLogbFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsLogbFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkLogbFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkLogbFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testLogb() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
index 4cbbf73..05060fb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMad.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestMad extends RSBaseCompute {
 
     private ScriptC_TestMad script;
@@ -42,9 +44,9 @@
     }
 
     private void checkMadFloatFloatFloatFloat() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2a4461e340b4de48l, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2a4461e340b4de49l, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcea3b86dc50ce0fcl, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x40b4de48l, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x40b4de49l, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc50ce0fcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -67,13 +69,19 @@
 
     private void verifyResultsMadFloatFloatFloatFloat(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -90,36 +98,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMadFloatFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMadFloatFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMadFloat2Float2Float2Float2() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdfffb28a8a5fd7c0l, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdfffb28a8a5fd7c1l, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3da8592f318f8924l, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8a5fd7c0l, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8a5fd7c1l, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x318f8924l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -142,13 +158,19 @@
 
     private void verifyResultsMadFloat2Float2Float2Float2(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -165,36 +187,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMadFloat2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMadFloat2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMadFloat3Float3Float3Float3() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdd6226bde1551f1cl, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdd6226bde1551f1dl, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x117f5b0bfb77d218l, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe1551f1cl, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe1551f1dl, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfb77d218l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -217,13 +247,19 @@
 
     private void verifyResultsMadFloat3Float3Float3Float3(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -240,36 +276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMadFloat3Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMadFloat3Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMadFloat4Float4Float4Float4() {
-        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdac49af1384a6678l, false);
-        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdac49af1384a6679l, false);
-        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe5565ce8c5601b0cl, false);
+        Allocation inMultiplicand1 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x384a6678l, false);
+        Allocation inMultiplicand2 = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x384a6679l, false);
+        Allocation inOffset = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc5601b0cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInMultiplicand2(inMultiplicand2);
@@ -292,13 +336,19 @@
 
     private void verifyResultsMadFloat4Float4Float4Float4(Allocation inMultiplicand1, Allocation inMultiplicand2, Allocation inOffset, Allocation out, boolean relaxed) {
         float[] arrayInMultiplicand1 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand1, (float) 42);
         inMultiplicand1.copyTo(arrayInMultiplicand1);
         float[] arrayInMultiplicand2 = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInMultiplicand2, (float) 42);
         inMultiplicand2.copyTo(arrayInMultiplicand2);
         float[] arrayInOffset = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInOffset, (float) 42);
         inOffset.copyTo(arrayInOffset);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -315,30 +365,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inMultiplicand1: ");
-                    appendVariableToMessage(message, args.inMultiplicand1);
-                    message.append("\n");
-                    message.append("Input inMultiplicand2: ");
-                    appendVariableToMessage(message, args.inMultiplicand2);
-                    message.append("\n");
-                    message.append("Input inOffset: ");
-                    appendVariableToMessage(message, args.inOffset);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inMultiplicand1: ");
+                        appendVariableToMessage(message, args.inMultiplicand1);
+                        message.append("\n");
+                        message.append("Input inMultiplicand2: ");
+                        appendVariableToMessage(message, args.inMultiplicand2);
+                        message.append("\n");
+                        message.append("Input inOffset: ");
+                        appendVariableToMessage(message, args.inOffset);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMadFloat4Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMadFloat4Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testMad() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
index 042f0ae..f646f07 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMax.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestMax extends RSBaseCompute {
 
     private ScriptC_TestMax script;
@@ -41,8 +43,8 @@
     }
 
     private void checkMaxFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2952d868c2162460l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2952d868c2162461l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc2162460l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc2162461l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsMaxFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc6031e7536addadal, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc6031e7536addadbl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x36addadal, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x36addadbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsMaxFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1a67fc95388bdc7bl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1a67fc95388bdc7cl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x388bdc7bl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x388bdc7cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsMaxFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6eccdab53a69de1cl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6eccdab53a69de1dl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3a69de1cl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3a69de1dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsMaxFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharCharChar {
@@ -311,8 +365,8 @@
     }
 
     private void checkMaxCharCharChar() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x5f77cf3cb6405876l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x5f77cf3cb6405877l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xb6405876l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xb6405877l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -333,11 +387,16 @@
 
     private void verifyResultsMaxCharCharChar(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -352,32 +411,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxCharCharChar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxCharCharChar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxChar2Char2Char2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x94dd090a19e42804l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x94dd090a19e42805l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x19e42804l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x19e42805l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -398,11 +465,16 @@
 
     private void verifyResultsMaxChar2Char2Char2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -417,32 +489,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxChar2Char2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxChar2Char2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxChar3Char3Char3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xba9188f3788338d3l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0xba9188f3788338d4l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x788338d3l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x788338d4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -463,11 +543,16 @@
 
     private void verifyResultsMaxChar3Char3Char3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -482,32 +567,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxChar3Char3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxChar3Char3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxChar4Char4Char4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xe04608dcd72249a2l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xe04608dcd72249a3l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd72249a2l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0xd72249a3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -528,11 +621,16 @@
 
     private void verifyResultsMaxChar4Char4Char4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -547,27 +645,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxChar4Char4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxChar4Char4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUcharUchar {
@@ -577,8 +683,8 @@
     }
 
     private void checkMaxUcharUcharUchar() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x800f9948853a162dl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x800f9948853a162el, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x853a162dl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x853a162el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -599,11 +705,16 @@
 
     private void verifyResultsMaxUcharUcharUchar(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -618,32 +729,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUcharUcharUchar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUcharUcharUchar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUchar2Uchar2Uchar2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xd31d5735b7e9a9dbl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xd31d5735b7e9a9dcl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xb7e9a9dbl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xb7e9a9dcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -664,11 +783,16 @@
 
     private void verifyResultsMaxUchar2Uchar2Uchar2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -683,32 +807,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUchar2Uchar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUchar2Uchar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUchar3Uchar3Uchar3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x27823555b9c7ab7cl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x27823555b9c7ab7dl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xb9c7ab7cl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xb9c7ab7dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -729,11 +861,16 @@
 
     private void verifyResultsMaxUchar3Uchar3Uchar3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -748,32 +885,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUchar3Uchar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUchar3Uchar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUchar4Uchar4Uchar4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7be71375bba5ad1dl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0x7be71375bba5ad1el, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xbba5ad1dl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xbba5ad1el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -794,11 +939,16 @@
 
     private void verifyResultsMaxUchar4Uchar4Uchar4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -813,27 +963,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUchar4Uchar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUchar4Uchar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortShortShort {
@@ -843,8 +1001,8 @@
     }
 
     private void checkMaxShortShortShort() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x920335e143b57294l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x920335e143b57295l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x43b57294l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x43b57295l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -865,11 +1023,16 @@
 
     private void verifyResultsMaxShortShortShort(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -884,32 +1047,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxShortShortShort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxShortShortShort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxShort2Short2Short2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x42e9d46b56ecb9del, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x42e9d46b56ecb9dfl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x56ecb9del, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x56ecb9dfl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -930,11 +1101,16 @@
 
     private void verifyResultsMaxShort2Short2Short2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -949,32 +1125,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxShort2Short2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxShort2Short2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxShort3Short3Short3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x974eb28b58cabb7fl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x974eb28b58cabb80l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x58cabb7fl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x58cabb80l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -995,11 +1179,16 @@
 
     private void verifyResultsMaxShort3Short3Short3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1014,32 +1203,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxShort3Short3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxShort3Short3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxShort4Short4Short4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xebb390ab5aa8bd20l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0xebb390ab5aa8bd21l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x5aa8bd20l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x5aa8bd21l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1060,11 +1257,16 @@
 
     private void verifyResultsMaxShort4Short4Short4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1079,27 +1281,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxShort4Short4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxShort4Short4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUshortUshort {
@@ -1109,8 +1319,8 @@
     }
 
     private void checkMaxUshortUshortUshort() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x8f869c73b947704bl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0x8f869c73b947704cl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xb947704bl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xb947704cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1131,11 +1341,16 @@
 
     private void verifyResultsMaxUshortUshortUshort(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1150,32 +1365,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUshortUshortUshort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUshortUshortUshort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUshort2Ushort2Ushort2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xbe3c50e6150b1f95l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0xbe3c50e6150b1f96l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x150b1f95l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x150b1f96l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1196,11 +1419,16 @@
 
     private void verifyResultsMaxUshort2Ushort2Ushort2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1215,32 +1443,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUshort2Ushort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUshort2Ushort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUshort3Ushort3Ushort3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x3e2be9df5df0112cl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x3e2be9df5df0112dl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x5df0112cl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0x5df0112dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1261,11 +1497,16 @@
 
     private void verifyResultsMaxUshort3Ushort3Ushort3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1280,32 +1521,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUshort3Ushort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUshort3Ushort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUshort4Ushort4Ushort4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xbe1b82d8a6d502c3l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xbe1b82d8a6d502c4l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xa6d502c3l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0xa6d502c4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1326,11 +1575,16 @@
 
     private void verifyResultsMaxUshort4Ushort4Ushort4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1345,27 +1599,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUshort4Ushort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUshort4Ushort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntIntInt {
@@ -1375,8 +1637,8 @@
     }
 
     private void checkMaxIntIntInt() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x773d0d60e43d0fa9l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x773d0d60e43d0faal, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xe43d0fa9l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xe43d0faal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1397,11 +1659,16 @@
 
     private void verifyResultsMaxIntIntInt(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1416,32 +1683,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxIntIntInt" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxIntIntInt" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxInt2Int2Int2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x32815a01bb9dccd7l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x32815a01bb9dccd8l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xbb9dccd7l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xbb9dccd8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1462,11 +1737,16 @@
 
     private void verifyResultsMaxInt2Int2Int2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1481,32 +1761,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxInt2Int2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxInt2Int2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxInt3Int3Int3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x3f66ddfc867314c0l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x3f66ddfc867314c1l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x867314c0l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x867314c1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1527,11 +1815,16 @@
 
     private void verifyResultsMaxInt3Int3Int3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1546,32 +1839,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxInt3Int3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxInt3Int3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxInt4Int4Int4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x4c4c61f751485ca9l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x4c4c61f751485caal, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x51485ca9l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x51485caal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1592,11 +1893,16 @@
 
     private void verifyResultsMaxInt4Int4Int4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1611,27 +1917,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxInt4Int4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxInt4Int4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUintUint {
@@ -1641,8 +1955,8 @@
     }
 
     private void checkMaxUintUintUint() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xcd24e58385f73e36l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xcd24e58385f73e37l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x85f73e36l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x85f73e37l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1663,11 +1977,16 @@
 
     private void verifyResultsMaxUintUintUint(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1682,32 +2001,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUintUintUint" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUintUintUint" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUint2Uint2Uint2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xbd5747860e84d6c4l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xbd5747860e84d6c5l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xe84d6c4l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xe84d6c5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1728,11 +2055,16 @@
 
     private void verifyResultsMaxUint2Uint2Uint2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1747,32 +2079,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUint2Uint2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUint2Uint2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUint3Uint3Uint3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe30bc76f6d23e793l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0xe30bc76f6d23e794l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x6d23e793l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x6d23e794l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1793,11 +2133,16 @@
 
     private void verifyResultsMaxUint3Uint3Uint3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1812,32 +2157,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUint3Uint3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUint3Uint3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUint4Uint4Uint4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x8c04758cbc2f862l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x8c04758cbc2f863l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xcbc2f862l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0xcbc2f863l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1858,11 +2211,16 @@
 
     private void verifyResultsMaxUint4Uint4Uint4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1877,27 +2235,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUint4Uint4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUint4Uint4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongLongLong {
@@ -1907,8 +2273,8 @@
     }
 
     private void checkMaxLongLongLong() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x542587285eceb84l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x542587285eceb85l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x85eceb84l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x85eceb85l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1929,11 +2295,16 @@
 
     private void verifyResultsMaxLongLongLong(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1948,32 +2319,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxLongLongLong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxLongLongLong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxLong2Long2Long2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc5c0bac4c249c9dal, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc5c0bac4c249c9dbl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc249c9dal, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0xc249c9dbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1994,11 +2373,16 @@
 
     private void verifyResultsMaxLong2Long2Long2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2013,32 +2397,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxLong2Long2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxLong2Long2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxLong3Long3Long3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xeb753aae20e8daa9l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xeb753aae20e8daaal, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x20e8daa9l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x20e8daaal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2059,11 +2451,16 @@
 
     private void verifyResultsMaxLong3Long3Long3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2078,32 +2475,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxLong3Long3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxLong3Long3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxLong4Long4Long4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x1129ba977f87eb78l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x1129ba977f87eb79l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7f87eb78l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x7f87eb79l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2124,11 +2529,16 @@
 
     private void verifyResultsMaxLong4Long4Long4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2143,27 +2553,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxLong4Long4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxLong4Long4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUlongUlong {
@@ -2173,8 +2591,8 @@
     }
 
     private void checkMaxUlongUlongUlong() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x8d1ad8f38f18baafl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x8d1ad8f38f18bab0l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x8f18baafl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x8f18bab0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2195,11 +2613,16 @@
 
     private void verifyResultsMaxUlongUlongUlong(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -2214,32 +2637,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUlongUlongUlong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUlongUlongUlong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUlong2Ulong2Ulong2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x6e2049a55946bc65l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x6e2049a55946bc66l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5946bc65l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x5946bc66l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2260,11 +2691,16 @@
 
     private void verifyResultsMaxUlong2Ulong2Ulong2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2279,32 +2715,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUlong2Ulong2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUlong2Ulong2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUlong3Ulong3Ulong3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xc28527c55b24be06l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0xc28527c55b24be07l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x5b24be06l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x5b24be07l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2325,11 +2769,16 @@
 
     private void verifyResultsMaxUlong3Ulong3Ulong3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2344,32 +2793,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUlong3Ulong3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUlong3Ulong3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMaxUlong4Ulong4Ulong4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x16ea05e55d02bfa7l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x16ea05e55d02bfa8l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5d02bfa7l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x5d02bfa8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2390,11 +2847,16 @@
 
     private void verifyResultsMaxUlong4Ulong4Ulong4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2409,27 +2871,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMaxUlong4Ulong4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMaxUlong4Ulong4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testMax() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
index be77bac..9151fd1 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestMin extends RSBaseCompute {
 
     private ScriptC_TestMin script;
@@ -41,8 +43,8 @@
     }
 
     private void checkMinFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbdad0b097121573el, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbdad0b097121573fl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7121573el, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7121573fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsMinFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2f1cc4b149b4e454l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2f1cc4b149b4e455l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x49b4e454l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x49b4e455l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsMinFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8381a2d14b92e5f5l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8381a2d14b92e5f6l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4b92e5f5l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4b92e5f6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsMinFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd7e680f14d70e796l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd7e680f14d70e797l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4d70e796l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4d70e797l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsMinFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsCharCharChar {
@@ -311,8 +365,8 @@
     }
 
     private void checkMinCharCharChar() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x78bd3bd20e8196e0l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0x78bd3bd20e8196e1l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xe8196e0l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 1, 0xe8196e1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -333,11 +387,16 @@
 
     private void verifyResultsMinCharCharChar(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -352,32 +411,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinCharCharChar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinCharCharChar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinChar2Char2Char2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x29373baac8ef5ae2l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0x29373baac8ef5ae3l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xc8ef5ae2l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 2, 0xc8ef5ae3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -398,11 +465,16 @@
 
     private void verifyResultsMinChar2Char2Char2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -417,32 +489,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinChar2Char2Char2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinChar2Char2Char2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinChar3Char3Char3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x4eebbb94278e6bb1l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x4eebbb94278e6bb2l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x278e6bb1l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 3, 0x278e6bb2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -463,11 +543,16 @@
 
     private void verifyResultsMinChar3Char3Char3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -482,32 +567,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinChar3Char3Char3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinChar3Char3Char3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinChar4Char4Char4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x74a03b7d862d7c80l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x74a03b7d862d7c81l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x862d7c80l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_8, 4, 0x862d7c81l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_8, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -528,11 +621,16 @@
 
     private void verifyResultsMinChar4Char4Char4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -547,27 +645,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinChar4Char4Char4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinChar4Char4Char4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUcharUcharUchar {
@@ -577,8 +683,8 @@
     }
 
     private void checkMinUcharUcharUchar() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x1469cbe93445490bl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x1469cbe93445490cl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x3445490bl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 1, 0x3445490cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -599,11 +705,16 @@
 
     private void verifyResultsMinUcharUcharUchar(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -618,32 +729,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUcharUcharUchar" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUcharUcharUchar" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUchar2Uchar2Uchar2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x3c36fd71caf0b355l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0x3c36fd71caf0b356l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xcaf0b355l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 2, 0xcaf0b356l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -664,11 +783,16 @@
 
     private void verifyResultsMinUchar2Uchar2Uchar2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -683,32 +807,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUchar2Uchar2Uchar2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUchar2Uchar2Uchar2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUchar3Uchar3Uchar3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x909bdb91ccceb4f6l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0x909bdb91ccceb4f7l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xccceb4f6l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 3, 0xccceb4f7l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -729,11 +861,16 @@
 
     private void verifyResultsMinUchar3Uchar3Uchar3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -748,32 +885,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUchar3Uchar3Uchar3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUchar3Uchar3Uchar3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUchar4Uchar4Uchar4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xe500b9b1ceacb697l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xe500b9b1ceacb698l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xceacb697l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_8, 4, 0xceacb698l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_8, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -794,11 +939,16 @@
 
     private void verifyResultsMinUchar4Uchar4Uchar4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         byte[] arrayInA = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (byte) 42);
         inA.copyTo(arrayInA);
         byte[] arrayInB = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (byte) 42);
         inB.copyTo(arrayInB);
         byte[] arrayOut = new byte[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (byte) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -813,27 +963,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUchar4Uchar4Uchar4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUchar4Uchar4Uchar4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsShortShortShort {
@@ -843,8 +1001,8 @@
     }
 
     private void checkMinShortShortShort() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x265d6881f2c0a572l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0x265d6881f2c0a573l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xf2c0a572l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 1, 0xf2c0a573l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -865,11 +1023,16 @@
 
     private void verifyResultsMinShortShortShort(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -884,32 +1047,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinShortShortShort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinShortShortShort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinShort2Short2Short2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xac037aa769f3c358l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0xac037aa769f3c359l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x69f3c358l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 2, 0x69f3c359l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -930,11 +1101,16 @@
 
     private void verifyResultsMinShort2Short2Short2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -949,32 +1125,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinShort2Short2Short2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinShort2Short2Short2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinShort3Short3Short3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x6858c76bd1c4f9l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x6858c76bd1c4fal, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x6bd1c4f9l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 3, 0x6bd1c4fal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -995,11 +1179,16 @@
 
     private void verifyResultsMinShort3Short3Short3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1014,32 +1203,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinShort3Short3Short3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinShort3Short3Short3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinShort4Short4Short4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x54cd36e76dafc69al, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x54cd36e76dafc69bl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x6dafc69al, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_16, 4, 0x6dafc69bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_16, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1060,11 +1257,16 @@
 
     private void verifyResultsMinShort4Short4Short4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1079,27 +1281,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinShort4Short4Short4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinShort4Short4Short4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUshortUshortUshort {
@@ -1109,8 +1319,8 @@
     }
 
     private void checkMinUshortUshortUshort() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xf8a042afcc4e79c5l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xf8a042afcc4e79c6l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xcc4e79c5l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 1, 0xcc4e79c6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1131,11 +1341,16 @@
 
     private void verifyResultsMinUshortUshortUshort(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1150,32 +1365,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUshortUshortUshort" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUshortUshortUshort" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUshort2Ushort2Ushort2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2743846f878f4ca3l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x2743846f878f4ca4l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x878f4ca3l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 2, 0x878f4ca4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1196,11 +1419,16 @@
 
     private void verifyResultsMinUshort2Ushort2Ushort2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1215,32 +1443,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUshort2Ushort2Ushort2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUshort2Ushort2Ushort2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUshort3Ushort3Ushort3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xa7331d68d0743e3al, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xa7331d68d0743e3bl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xd0743e3al, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 3, 0xd0743e3bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1261,11 +1497,16 @@
 
     private void verifyResultsMinUshort3Ushort3Ushort3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1280,32 +1521,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUshort3Ushort3Ushort3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUshort3Ushort3Ushort3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUshort4Ushort4Ushort4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x2722b66219592fd1l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x2722b66219592fd2l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x19592fd1l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_16, 4, 0x19592fd2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_16, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1326,11 +1575,16 @@
 
     private void verifyResultsMinUshort4Ushort4Ushort4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         short[] arrayInA = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (short) 42);
         inA.copyTo(arrayInA);
         short[] arrayInB = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (short) 42);
         inB.copyTo(arrayInB);
         short[] arrayOut = new short[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (short) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1345,27 +1599,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUshort4Ushort4Ushort4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUshort4Ushort4Ushort4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsIntIntInt {
@@ -1375,8 +1637,8 @@
     }
 
     private void checkMinIntIntInt() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xfb5d72ade703dfd7l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xfb5d72ade703dfd8l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xe703dfd7l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0xe703dfd8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1397,11 +1659,16 @@
 
     private void verifyResultsMinIntIntInt(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1416,32 +1683,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinIntIntInt" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinIntIntInt" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinInt2Int2Int2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x4bc6c69713df0b41l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x4bc6c69713df0b42l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x13df0b41l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x13df0b42l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1462,11 +1737,16 @@
 
     private void verifyResultsMinInt2Int2Int2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1481,32 +1761,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinInt2Int2Int2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinInt2Int2Int2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinInt3Int3Int3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x58ac4a91deb4532al, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x58ac4a91deb4532bl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xdeb4532al, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xdeb4532bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1527,11 +1815,16 @@
 
     private void verifyResultsMinInt3Int3Int3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1546,32 +1839,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinInt3Int3Int3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinInt3Int3Int3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinInt4Int4Int4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x6591ce8ca9899b13l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x6591ce8ca9899b14l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xa9899b13l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xa9899b14l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1592,11 +1893,16 @@
 
     private void verifyResultsMinInt4Int4Int4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1611,27 +1917,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinInt4Int4Int4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinInt4Int4Int4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUintUintUint {
@@ -1641,8 +1955,8 @@
     }
 
     private void checkMinUintUintUint() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xe66a5218de387ca0l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xe66a5218de387ca1l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xde387ca0l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xde387ca1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1663,11 +1977,16 @@
 
     private void verifyResultsMinUintUintUint(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1682,32 +2001,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUintUintUint" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUintUintUint" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUint2Uint2Uint2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x51b17a26bd9009a2l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0x51b17a26bd9009a3l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xbd9009a2l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 2, 0xbd9009a3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1728,11 +2055,16 @@
 
     private void verifyResultsMinUint2Uint2Uint2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -1747,32 +2079,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUint2Uint2Uint2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUint2Uint2Uint2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUint3Uint3Uint3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x7765fa101c2f1a71l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x7765fa101c2f1a72l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x1c2f1a71l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 3, 0x1c2f1a72l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1793,11 +2133,16 @@
 
     private void verifyResultsMinUint3Uint3Uint3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -1812,32 +2157,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUint3Uint3Uint3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUint3Uint3Uint3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUint4Uint4Uint4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x9d1a79f97ace2b40l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x9d1a79f97ace2b41l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x7ace2b40l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 4, 0x7ace2b41l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1858,11 +2211,16 @@
 
     private void verifyResultsMinUint4Uint4Uint4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         int[] arrayInA = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (int) 42);
         inA.copyTo(arrayInA);
         int[] arrayInB = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (int) 42);
         inB.copyTo(arrayInB);
         int[] arrayOut = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (int) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -1877,27 +2235,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUint4Uint4Uint4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUint4Uint4Uint4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsLongLongLong {
@@ -1907,8 +2273,8 @@
     }
 
     private void checkMinLongLongLong() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x1e87c507de2e29eel, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0x1e87c507de2e29efl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xde2e29eel, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 1, 0xde2e29efl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1929,11 +2295,16 @@
 
     private void verifyResultsMinLongLongLong(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -1948,32 +2319,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinLongLongLong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinLongLongLong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinLong2Long2Long2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x5a1aed657154fcb8l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x5a1aed657154fcb9l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7154fcb8l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 2, 0x7154fcb9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -1994,11 +2373,16 @@
 
     private void verifyResultsMinLong2Long2Long2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2013,32 +2397,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinLong2Long2Long2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinLong2Long2Long2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinLong3Long3Long3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7fcf6d4ecff40d87l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0x7fcf6d4ecff40d88l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xcff40d87l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 3, 0xcff40d88l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2059,11 +2451,16 @@
 
     private void verifyResultsMinLong3Long3Long3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2078,32 +2475,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinLong3Long3Long3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinLong3Long3Long3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinLong4Long4Long4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xa583ed382e931e56l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0xa583ed382e931e57l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x2e931e56l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.SIGNED_64, 4, 0x2e931e57l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_64, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2124,11 +2529,16 @@
 
     private void verifyResultsMinLong4Long4Long4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2143,27 +2553,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinLong4Long4Long4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinLong4Long4Long4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsUlongUlongUlong {
@@ -2173,8 +2591,8 @@
     }
 
     private void checkMinUlongUlongUlong() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x21750b943e23ed8dl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x21750b943e23ed8el, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x3e23ed8dl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 1, 0x3e23ed8el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2195,11 +2613,16 @@
 
     private void verifyResultsMinUlongUlongUlong(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -2214,32 +2637,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (args.out != arrayOut[i * 1 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (args.out != arrayOut[i * 1 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUlongUlongUlong" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUlongUlongUlong" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUlong2Ulong2Ulong2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xd739efe16c4dc5dfl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0xd739efe16c4dc5e0l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x6c4dc5dfl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 2, 0x6c4dc5e0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2260,11 +2691,16 @@
 
     private void verifyResultsMinUlong2Ulong2Ulong2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -2279,32 +2715,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (args.out != arrayOut[i * 2 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (args.out != arrayOut[i * 2 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUlong2Ulong2Ulong2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUlong2Ulong2Ulong2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUlong3Ulong3Ulong3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x2b9ece016e2bc780l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x2b9ece016e2bc781l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x6e2bc780l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 3, 0x6e2bc781l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2325,11 +2769,16 @@
 
     private void verifyResultsMinUlong3Ulong3Ulong3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -2344,32 +2793,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUlong3Ulong3Ulong3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUlong3Ulong3Ulong3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMinUlong4Ulong4Ulong4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x8003ac217009c921l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x8003ac217009c922l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x7009c921l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.UNSIGNED_64, 4, 0x7009c922l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.UNSIGNED_64, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -2390,11 +2847,16 @@
 
     private void verifyResultsMinUlong4Ulong4Ulong4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         long[] arrayInA = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (long) 42);
         inA.copyTo(arrayInA);
         long[] arrayInB = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (long) 42);
         inB.copyTo(arrayInB);
         long[] arrayOut = new long[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (long) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -2409,27 +2871,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (args.out != arrayOut[i * 4 + j]) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (args.out != arrayOut[i * 4 + j]) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMinUlong4Ulong4Ulong4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMinUlong4Ulong4Ulong4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testMin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
index 0b6203f..8adfe99 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestMix.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestMix extends RSBaseCompute {
 
     private ScriptC_TestMix script;
@@ -42,9 +44,9 @@
     }
 
     private void checkMixFloatFloatFloatFloat() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9f4beff6471d6db1l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6ede0b88b4422e8fl, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6d2f014ec6a51d9fl, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x471d6db1l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb4422e8fl, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc6a51d9fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -67,13 +69,19 @@
 
     private void verifyResultsMixFloatFloatFloatFloat(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -90,36 +98,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloatFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloatFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat2Float2Float2Float2() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x45502e8f0a2d9ce9l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xba2b8a035395e837l, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe56bef3c621e0ac7l, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xa2d9ce9l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5395e837l, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x621e0ac7l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -142,13 +158,19 @@
 
     private void verifyResultsMixFloat2Float2Float2Float2(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -165,36 +187,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat3Float3Float3Float3() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xeb4701726b009c5l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9b21f6b3249ee4cbl, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf15862eab0d4f51bl, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x26b009c5l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x249ee4cbl, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb0d4f51bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -217,13 +247,19 @@
 
     private void verifyResultsMixFloat3Float3Float3Float3(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -240,36 +276,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat3Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat3Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat4Float4Float4Float4() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd818b19f433276a1l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7c186362f5a7e15fl, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfd44d698ff8bdf6fl, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x433276a1l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf5a7e15fl, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xff8bdf6fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -292,13 +336,19 @@
 
     private void verifyResultsMixFloat4Float4Float4Float4(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -315,36 +365,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat4Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat4Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat2Float2FloatFloat2() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf811b2d52bd1d7c3l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x17a127e13c8dd1c5l, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe0b7d03e92afd1f5l, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2bd1d7c3l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3c8dd1c5l, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x92afd1f5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -367,13 +425,19 @@
 
     private void verifyResultsMixFloat2Float2FloatFloat2(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -390,36 +454,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat2Float2FloatFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat2Float2FloatFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat3Float3FloatFloat3() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xae7aff441b20fa80l, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe64a4d60d6f4de7cl, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x21bd09bbd131a27cl, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1b20fa80l, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd6f4de7cl, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd131a27cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -442,13 +514,19 @@
 
     private void verifyResultsMixFloat3Float3FloatFloat3(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -465,36 +543,44 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat3Float3FloatFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat3Float3FloatFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkMixFloat4Float4FloatFloat4() {
-        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x64e44bb30a701d3dl, false);
-        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb4f372e0715beb33l, false);
-        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x62c243390fb37303l, false);
+        Allocation inStart = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa701d3dl, false);
+        Allocation inStop = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x715beb33l, false);
+        Allocation inFraction = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xfb37303l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInStop(inStop);
@@ -517,13 +603,19 @@
 
     private void verifyResultsMixFloat4Float4FloatFloat4(Allocation inStart, Allocation inStop, Allocation inFraction, Allocation out, boolean relaxed) {
         float[] arrayInStart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStart, (float) 42);
         inStart.copyTo(arrayInStart);
         float[] arrayInStop = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInStop, (float) 42);
         inStop.copyTo(arrayInStop);
         float[] arrayInFraction = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInFraction, (float) 42);
         inFraction.copyTo(arrayInFraction);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -540,30 +632,38 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inStart: ");
-                    appendVariableToMessage(message, args.inStart);
-                    message.append("\n");
-                    message.append("Input inStop: ");
-                    appendVariableToMessage(message, args.inStop);
-                    message.append("\n");
-                    message.append("Input inFraction: ");
-                    appendVariableToMessage(message, args.inFraction);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inStart: ");
+                        appendVariableToMessage(message, args.inStart);
+                        message.append("\n");
+                        message.append("Input inStop: ");
+                        appendVariableToMessage(message, args.inStop);
+                        message.append("\n");
+                        message.append("Input inFraction: ");
+                        appendVariableToMessage(message, args.inFraction);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkMixFloat4Float4FloatFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkMixFloat4Float4FloatFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testMix() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
index 26263ce..1848ce6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestModf.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestModf extends RSBaseCompute {
 
     private ScriptC_TestModf script;
@@ -41,7 +43,7 @@
     }
 
     private void checkModfFloatFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd655dc05ccaef45l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5ccaef45l, false);
         try {
             Allocation outIntegralPart = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -64,11 +66,16 @@
 
     private void verifyResultsModfFloatFloatFloat(Allocation inV, Allocation outIntegralPart, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutIntegralPart = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOutIntegralPart, (float) 42);
         outIntegralPart.copyTo(arrayOutIntegralPart);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -86,37 +93,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outIntegralPart: ");
-                    appendVariableToMessage(message, args.outIntegralPart);
-                    message.append("\n");
-                    message.append("Actual   output outIntegralPart: ");
-                    appendVariableToMessage(message, arrayOutIntegralPart[i * 1 + j]);
-                    if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outIntegralPart: ");
+                        appendVariableToMessage(message, args.outIntegralPart);
+                        message.append("\n");
+                        message.append("Actual   output outIntegralPart: ");
+                        appendVariableToMessage(message, arrayOutIntegralPart[i * 1 + j]);
+                        if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkModfFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkModfFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkModfFloat2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2a1dc519fa16305fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfa16305fl, false);
         try {
             Allocation outIntegralPart = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -139,11 +154,16 @@
 
     private void verifyResultsModfFloat2Float2Float2(Allocation inV, Allocation outIntegralPart, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutIntegralPart = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOutIntegralPart, (float) 42);
         outIntegralPart.copyTo(arrayOutIntegralPart);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -161,37 +181,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outIntegralPart: ");
-                    appendVariableToMessage(message, args.outIntegralPart);
-                    message.append("\n");
-                    message.append("Actual   output outIntegralPart: ");
-                    appendVariableToMessage(message, arrayOutIntegralPart[i * 2 + j]);
-                    if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outIntegralPart: ");
+                        appendVariableToMessage(message, args.outIntegralPart);
+                        message.append("\n");
+                        message.append("Actual   output outIntegralPart: ");
+                        appendVariableToMessage(message, arrayOutIntegralPart[i * 2 + j]);
+                        if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkModfFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkModfFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkModfFloat3Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7e82a339fbf43200l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xfbf43200l, false);
         try {
             Allocation outIntegralPart = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -214,11 +242,16 @@
 
     private void verifyResultsModfFloat3Float3Float3(Allocation inV, Allocation outIntegralPart, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutIntegralPart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutIntegralPart, (float) 42);
         outIntegralPart.copyTo(arrayOutIntegralPart);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -236,37 +269,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outIntegralPart: ");
-                    appendVariableToMessage(message, args.outIntegralPart);
-                    message.append("\n");
-                    message.append("Actual   output outIntegralPart: ");
-                    appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
-                    if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outIntegralPart: ");
+                        appendVariableToMessage(message, args.outIntegralPart);
+                        message.append("\n");
+                        message.append("Actual   output outIntegralPart: ");
+                        appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
+                        if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkModfFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkModfFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkModfFloat4Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd2e78159fdd233a1l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfdd233a1l, false);
         try {
             Allocation outIntegralPart = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -289,11 +330,16 @@
 
     private void verifyResultsModfFloat4Float4Float4(Allocation inV, Allocation outIntegralPart, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutIntegralPart = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutIntegralPart, (float) 42);
         outIntegralPart.copyTo(arrayOutIntegralPart);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -311,33 +357,41 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outIntegralPart: ");
-                    appendVariableToMessage(message, args.outIntegralPart);
-                    message.append("\n");
-                    message.append("Actual   output outIntegralPart: ");
-                    appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
-                    if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outIntegralPart: ");
+                        appendVariableToMessage(message, args.outIntegralPart);
+                        message.append("\n");
+                        message.append("Actual   output outIntegralPart: ");
+                        appendVariableToMessage(message, arrayOutIntegralPart[i * 4 + j]);
+                        if (!args.outIntegralPart.couldBe(arrayOutIntegralPart[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkModfFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkModfFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testModf() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
index 7c1f89c..e17cd2b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNan.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNan extends RSBaseCompute {
 
     private ScriptC_TestNan script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNanUintFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0xbc42cb366a8a10d2l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.UNSIGNED_32, 1, 0x6a8a10d2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNanUintFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNanUintFloat(Allocation inV, Allocation out, boolean relaxed) {
         int[] arrayInV = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (int) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,24 +82,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNanUintFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNanUintFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNan() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
index 63307d9..0452cc9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAcos extends RSBaseCompute {
 
     private ScriptC_TestNativeAcos script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAcosFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7749aa14657f3d94l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x657f3d94l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAcosFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAcosFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcosFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcosFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcosFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92e82297d87e02d8l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd87e02d8l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAcosFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAcosFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcosFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcosFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcosFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x92e9ebb2ce9923b6l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xce9923b6l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAcosFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAcosFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcosFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcosFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcosFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x92ebb4cdc4b44494l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc4b44494l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAcosFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAcosFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcosFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcosFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAcos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
index ed3ab41..0494901 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcosh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAcosh extends RSBaseCompute {
 
     private ScriptC_TestNativeAcosh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAcoshFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x97c6a2f89e417fcal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9e417fcal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAcoshFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAcoshFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcoshFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcoshFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcoshFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3989caf5cb8e3adel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xcb8e3adel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAcoshFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAcoshFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcoshFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcoshFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcoshFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x398b9410c1a95bbcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc1a95bbcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAcoshFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAcoshFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcoshFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcoshFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcoshFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x398d5d2bb7c47c9al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb7c47c9al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAcoshFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAcoshFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcoshFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcoshFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAcosh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
index c2fb6a5..1c84749 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAcospi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAcospi extends RSBaseCompute {
 
     private ScriptC_TestNativeAcospi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAcospiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdcf67f5599c7d8ffl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x99c7d8ffl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAcospiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAcospiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcospiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcospiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcospiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf038668a78e88aabl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x78e88aabl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAcospiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAcospiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcospiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcospiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcospiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf03a2fa56f03ab89l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6f03ab89l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAcospiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAcospiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcospiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcospiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAcospiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf03bf8c0651ecc67l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x651ecc67l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAcospiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAcospiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAcospiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAcospiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAcospi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
index f86f1d0..252f99b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAsin extends RSBaseCompute {
 
     private ScriptC_TestNativeAsin script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAsinFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x1167d6d8d3e5bc7l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x8d3e5bc7l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAsinFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAsinFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdb4aa187ebdf2133l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xebdf2133l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAsinFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAsinFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdb4c6aa2e1fa4211l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe1fa4211l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAsinFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAsinFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdb4e33bdd81562efl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd81562efl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAsinFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAsinFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAsin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
index 8b642a2..6b72cc9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAsinh extends RSBaseCompute {
 
     private ScriptC_TestNativeAsinh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAsinhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbd2e22f24b5b925bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4b5b925bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAsinhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAsinhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x62151d490cde5427l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xcde5427l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAsinhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAsinhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6216e66402f97505l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2f97505l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAsinhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAsinhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6218af7ef91495e3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf91495e3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAsinhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAsinhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAsinh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
index 0aaf7f2..84b219a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAsinpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAsinpi extends RSBaseCompute {
 
     private ScriptC_TestNativeAsinpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAsinpiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2558fe45ad28f75al, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xad28f75al, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAsinpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAsinpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinpiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbf9f3a86715cc9eel, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x715cc9eel, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAsinpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAsinpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinpiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbfa103a16777eaccl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6777eaccl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAsinpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAsinpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAsinpiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbfa2ccbc5d930baal, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5d930baal, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAsinpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAsinpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAsinpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAsinpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAsinpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
index 8271bdb..12430dc 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAtan extends RSBaseCompute {
 
     private ScriptC_TestNativeAtan script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAtanFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xaafbf9b325b34e42l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x25b34e42l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAtanFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAtanFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf5c93432108a7b96l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x108a7b96l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAtanFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAtanFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf5cafd4d06a59c74l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6a59c74l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAtanFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAtanFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf5ccc667fcc0bd52l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfcc0bd52l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAtanFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAtanFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAtan() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
index ac7a974..4cabb28 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAtan2 extends RSBaseCompute {
 
     private ScriptC_TestNativeAtan2 script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeAtan2FloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2139aa61fb6dcb4fl, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf6634dcb634c16d0l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xfb6dcb4fl, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x634c16d0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeAtan2FloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2FloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2FloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2Float2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x989e0b0cd0059da7l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4a617fa4dfda5468l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd0059da7l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdfda5468l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativeAtan2Float2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2Float2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2Float2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2Float3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x742cb44672d189a8l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x13c5c0edb2b5e7a1l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x72d189a8l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb2b5e7a1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativeAtan2Float3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2Float3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2Float3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2Float4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4fbb5d80159d75a9l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdd2a023685917adal, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x159d75a9l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x85917adal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativeAtan2Float4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2Float4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2Float4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAtan2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
index 4c812ce..c42591c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtan2pi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAtan2pi extends RSBaseCompute {
 
     private ScriptC_TestNativeAtan2pi script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeAtan2piFloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc2172a04694fc108l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd63229f70853dc01l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x694fc108l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x853dc01l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeAtan2piFloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2piFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2piFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2piFloat2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x305d06618853bce2l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4cc6c68c0c19e58bl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8853bce2l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc19e58bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativeAtan2piFloat2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2piFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2piFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2piFloat3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbebaf9b2b1fa8e3l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x162b07d4def578c4l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2b1fa8e3l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdef578c4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativeAtan2piFloat3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2piFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2piFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtan2piFloat4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe77a58d4cdeb94e4l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdf8f491db1d10bfdl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xcdeb94e4l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb1d10bfdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativeAtan2piFloat4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtan2piFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtan2piFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAtan2pi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
index 11b8952..c37993b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAtanh extends RSBaseCompute {
 
     private ScriptC_TestNativeAtanh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAtanhFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x46ba02a2e7004d04l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe7004d04l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAtanhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAtanhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanhFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd557bfdd35a682c8l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x35a682c8l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAtanhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAtanhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanhFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd55988f82bc1a3a6l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2bc1a3a6l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAtanhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAtanhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanhFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd55b521321dcc484l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x21dcc484l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAtanhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAtanhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAtanh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
index 9e822d2..4089adb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeAtanpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeAtanpi extends RSBaseCompute {
 
     private ScriptC_TestNativeAtanpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeAtanpiFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3fd790efd1d451bdl, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd1d451bdl, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeAtanpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeAtanpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanpiFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1bd089694afc9ef9l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4afc9ef9l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeAtanpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeAtanpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanpiFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1bd252844117bfd7l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4117bfd7l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeAtanpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeAtanpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeAtanpiFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1bd41b9f3732e0b5l, -1, 1);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3732e0b5l, -1, 1);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeAtanpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeAtanpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeAtanpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeAtanpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeAtanpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
index 05eb399..18c76bb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCbrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeCbrt extends RSBaseCompute {
 
     private ScriptC_TestNativeCbrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeCbrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa1d3335118086389l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x18086389l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeCbrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeCbrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCbrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCbrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCbrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xce4859fd59112965l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x59112965l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeCbrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeCbrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCbrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCbrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCbrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xce4a23184f2c4a43l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4f2c4a43l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeCbrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeCbrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCbrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCbrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCbrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xce4bec3345476b21l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x45476b21l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeCbrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeCbrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCbrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCbrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeCbrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
index 6b9b803..bd9c6a6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeCos extends RSBaseCompute {
 
     private ScriptC_TestNativeCos script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeCosFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2f317381777f3495l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x777f3495l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeCosFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeCosFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCosFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCosFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCosFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdc05f75eda3d0911l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xda3d0911l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeCosFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeCosFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCosFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCosFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCosFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdc07c079d05829efl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd05829efl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeCosFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeCosFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCosFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCosFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCosFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdc098994c6734acdl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc6734acdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeCosFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeCosFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCosFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCosFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeCos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
index ba20feb..7bdab28 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCosh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeCosh extends RSBaseCompute {
 
     private ScriptC_TestNativeCosh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeCoshFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7bb5784aa43ffcf5l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa43ffcf5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeCoshFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeCoshFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCoshFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCoshFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCoshFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x818c886316a44671l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x16a44671l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeCoshFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeCoshFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCoshFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCoshFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCoshFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x818e517e0cbf674fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xcbf674fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeCoshFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeCoshFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCoshFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCoshFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCoshFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x81901a9902da882dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2da882dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeCoshFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeCoshFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCoshFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCoshFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeCosh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
index 0176177..91b4426 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeCospi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeCospi extends RSBaseCompute {
 
     private ScriptC_TestNativeCospi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeCospiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2614541c9b86df38l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9b86df38l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeCospiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeCospiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCospiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCospiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCospiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8ae37e6159c7c5cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x159c7c5cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeCospiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeCospiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCospiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCospiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCospiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8b001010bb79d3al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbb79d3al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeCospiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeCospiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCospiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCospiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeCospiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8b1ca1c01d2be18l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1d2be18l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeCospiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeCospiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeCospiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeCospiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeCospi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
index 46838d8..8485d16 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDistance.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeDistance extends RSBaseCompute {
 
     private ScriptC_TestNativeDistance script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeDistanceFloatFloatFloat() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb61d5ec530ae2337l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x98c2c48c9b58b3c2l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x30ae2337l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9b58b3c2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeDistanceFloatFloatFloat(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloatFloat args = new ArgumentsFloatFloatFloat();
             // Create the appropriate sized arrays in args
@@ -83,26 +90,32 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inLeftVector: ");
-                appendVariableToMessage(message, arrayInLeftVector[i]);
-                message.append("\n");
-                message.append("Input inRightVector: ");
-                appendVariableToMessage(message, arrayInRightVector[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inLeftVector: ");
+                    appendVariableToMessage(message, arrayInLeftVector[i]);
+                    message.append("\n");
+                    message.append("Input inRightVector: ");
+                    appendVariableToMessage(message, arrayInRightVector[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeDistanceFloatFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeDistanceFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatNFloat {
@@ -112,8 +125,8 @@
     }
 
     private void checkNativeDistanceFloat2Float2Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xef86e1d727286713l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3d7bc89101e219b6l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x27286713l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1e219b6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -134,11 +147,16 @@
 
     private void verifyResultsNativeDistanceFloat2Float2Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -160,35 +178,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 2 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeDistanceFloat2Float2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeDistanceFloat2Float2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeDistanceFloat3Float3Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xbe30075548c71b61l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf3e514c0a78a62d0l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x48c71b61l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa78a62d0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -209,11 +233,16 @@
 
     private void verifyResultsNativeDistanceFloat3Float3Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -235,35 +264,41 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeDistanceFloat3Float3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeDistanceFloat3Float3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeDistanceFloat4Float4Float() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8cd92cd36a65cfafl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xaa4e60f04d32abeal, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6a65cfafl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4d32abeal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -284,11 +319,16 @@
 
     private void verifyResultsNativeDistanceFloat4Float4Float(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatNFloat args = new ArgumentsFloatNFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -310,30 +350,36 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, arrayInLeftVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, arrayInRightVector[i * 4 + j]);
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
                     message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeDistanceFloat4Float4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeDistanceFloat4Float4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeDistance() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
index b7a630b2..194a4df 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeDivide.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeDivide extends RSBaseCompute {
 
     private ScriptC_TestNativeDivide script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeDivideFloatFloatFloat() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x73477387751754efl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5ed4412e19040daal, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x751754efl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x19040daal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeDivideFloatFloatFloat(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, args.inLeftVector);
-                    message.append("\n");
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, args.inRightVector);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, args.inLeftVector);
+                        message.append("\n");
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, args.inRightVector);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeDivideFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeDivideFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeDivideFloat2Float2Float2() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x752d5a1207785d6dl, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb071fa74af507ad4l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7785d6dl, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xaf507ad4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativeDivideFloat2Float2Float2(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, args.inLeftVector);
-                    message.append("\n");
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, args.inRightVector);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, args.inLeftVector);
+                        message.append("\n");
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, args.inRightVector);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeDivideFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeDivideFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeDivideFloat3Float3Float3() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5623c6c05fb90198l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x79d63bbd822c0e0dl, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5fb90198l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x822c0e0dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativeDivideFloat3Float3Float3(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, args.inLeftVector);
-                    message.append("\n");
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, args.inRightVector);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, args.inLeftVector);
+                        message.append("\n");
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, args.inRightVector);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeDivideFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeDivideFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeDivideFloat4Float4Float4() {
-        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x371a336eb7f9a5c3l, false);
-        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x433a7d065507a146l, false);
+        Allocation inLeftVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb7f9a5c3l, false);
+        Allocation inRightVector = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5507a146l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInRightVector(inRightVector);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativeDivideFloat4Float4Float4(Allocation inLeftVector, Allocation inRightVector, Allocation out, boolean relaxed) {
         float[] arrayInLeftVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInLeftVector, (float) 42);
         inLeftVector.copyTo(arrayInLeftVector);
         float[] arrayInRightVector = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInRightVector, (float) 42);
         inRightVector.copyTo(arrayInRightVector);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inLeftVector: ");
-                    appendVariableToMessage(message, args.inLeftVector);
-                    message.append("\n");
-                    message.append("Input inRightVector: ");
-                    appendVariableToMessage(message, args.inRightVector);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inLeftVector: ");
+                        appendVariableToMessage(message, args.inLeftVector);
+                        message.append("\n");
+                        message.append("Input inRightVector: ");
+                        appendVariableToMessage(message, args.inRightVector);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeDivideFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeDivideFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeDivide() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
index 156b154..3643235 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeExp extends RSBaseCompute {
 
     private ScriptC_TestNativeExp script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeExpFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x66a7898af1f6be9bl, -86, 86);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf1f6be9bl, -86, 86);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeExpFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeExpFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6feb21d463a0ee67l, -86, 86);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x63a0ee67l, -86, 86);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeExpFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeExpFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6feceaef59bc0f45l, -86, 86);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x59bc0f45l, -86, 86);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeExpFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeExpFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6feeb40a4fd73023l, -86, 86);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4fd73023l, -86, 86);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeExpFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeExpFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeExp() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
index df4dd51..36996f9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp10.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeExp10 extends RSBaseCompute {
 
     private ScriptC_TestNativeExp10 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeExp10FloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x562e4ea690352c54l, -37, 37);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x90352c54l, -37, 37);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeExp10FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeExp10FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp10FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp10FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp10Float2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7450c64e54876b98l, -37, 37);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x54876b98l, -37, 37);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeExp10Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeExp10Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp10Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp10Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp10Float3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x74528f694aa28c76l, -37, 37);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4aa28c76l, -37, 37);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeExp10Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeExp10Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp10Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp10Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp10Float4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7454588440bdad54l, -37, 37);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x40bdad54l, -37, 37);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeExp10Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeExp10Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp10Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp10Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeExp10() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
index 81961c2..3ed45e4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExp2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeExp2 extends RSBaseCompute {
 
     private ScriptC_TestNativeExp2 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeExp2FloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd87a6eb24c6a2bc5l, -125, 125);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4c6a2bc5l, -125, 125);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeExp2FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeExp2FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp2FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp2FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp2Float2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8c243b10af5062c1l, -125, 125);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xaf5062c1l, -125, 125);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeExp2Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeExp2Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp2Float3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8c26042ba56b839fl, -125, 125);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xa56b839fl, -125, 125);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeExp2Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeExp2Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp2Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp2Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExp2Float4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8c27cd469b86a47dl, -125, 125);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9b86a47dl, -125, 125);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeExp2Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeExp2Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExp2Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExp2Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeExp2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
index 84a06fc..bba5aeb 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeExpm1.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeExpm1 extends RSBaseCompute {
 
     private ScriptC_TestNativeExpm1 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeExpm1FloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7a90bd8a7094f34bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7094f34bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeExpm1FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeExpm1FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpm1FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpm1FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpm1Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3f43b22de84b7997l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe84b7997l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeExpm1Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeExpm1Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpm1Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpm1Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpm1Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3f457b48de669a75l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xde669a75l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeExpm1Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeExpm1Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpm1Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpm1Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeExpm1Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3f474463d481bb53l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd481bb53l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeExpm1Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeExpm1Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeExpm1Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeExpm1Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeExpm1() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
index b875539..650233b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeHypot.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeHypot extends RSBaseCompute {
 
     private ScriptC_TestNativeHypot script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeHypotFloatFloatFloat() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3d61f129bdf66001l, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3d61f129bdf66002l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbdf66001l, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbdf66002l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeHypotFloatFloatFloat(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeHypotFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeHypotFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeHypotFloat2Float2Float2() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92a8064760a50e4dl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x92a8064760a50e4el, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x60a50e4dl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x60a50e4el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativeHypotFloat2Float2Float2(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeHypotFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeHypotFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeHypotFloat3Float3Float3() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe70ce46762830feel, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe70ce46762830fefl, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x62830feel, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x62830fefl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativeHypotFloat3Float3Float3(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeHypotFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeHypotFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeHypotFloat4Float4Float4() {
-        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3b71c2876461118fl, false);
-        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3b71c28764611190l, false);
+        Allocation inA = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6461118fl, false);
+        Allocation inB = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x64611190l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInB(inB);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativeHypotFloat4Float4Float4(Allocation inA, Allocation inB, Allocation out, boolean relaxed) {
         float[] arrayInA = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInA, (float) 42);
         inA.copyTo(arrayInA);
         float[] arrayInB = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInB, (float) 42);
         inB.copyTo(arrayInB);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inA: ");
-                    appendVariableToMessage(message, args.inA);
-                    message.append("\n");
-                    message.append("Input inB: ");
-                    appendVariableToMessage(message, args.inB);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inA: ");
+                        appendVariableToMessage(message, args.inA);
+                        message.append("\n");
+                        message.append("Input inB: ");
+                        appendVariableToMessage(message, args.inB);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeHypotFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeHypotFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeHypot() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
index 4a8b86a..176f75b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLength.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeLength extends RSBaseCompute {
 
     private ScriptC_TestNativeLength script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeLengthFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbe51f0c4d1df20ecl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd1df20ecl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLengthFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeLengthFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeLengthFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeLengthFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloat {
@@ -101,7 +113,7 @@
     }
 
     private void checkNativeLengthFloat2Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf7c2930af1b4824cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf1b4824cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLengthFloat2Float(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsNativeLengthFloat2Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -140,29 +156,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeLengthFloat2Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeLengthFloat2Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLengthFloat3Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf7c29dac50bb10adl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x50bb10adl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLengthFloat3Float(inV, out);
@@ -181,9 +203,13 @@
 
     private void verifyResultsNativeLengthFloat3Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -201,29 +227,35 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeLengthFloat3Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeLengthFloat3Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLengthFloat4Float() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf7c2a84dafc19f0el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xafc19f0el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLengthFloat4Float(inV, out);
@@ -242,9 +274,13 @@
 
     private void verifyResultsNativeLengthFloat4Float(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloat args = new ArgumentsFloatNFloat();
             // Create the appropriate sized arrays in args
@@ -262,25 +298,31 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
+                    }
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
                     message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
-                }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeLengthFloat4Float" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeLengthFloat4Float" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeLength() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
index 1f61402..d1d108b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeLog extends RSBaseCompute {
 
     private ScriptC_TestNativeLog script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeLogFloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6237b14ee6418d2cl, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe6418d2cl, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLogFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeLogFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLogFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLogFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLogFloat2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x641a5823d3eee3b0l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd3eee3b0l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeLogFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeLogFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLogFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLogFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLogFloat3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x641c213eca0a048el, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xca0a048el, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeLogFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeLogFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLogFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLogFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLogFloat4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x641dea59c025256cl, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc025256cl, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeLogFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeLogFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLogFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLogFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeLog() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
index 7cadd6b..4d4278b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog10.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeLog10 extends RSBaseCompute {
 
     private ScriptC_TestNativeLog10 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeLog10FloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4a5d84f60083219dl, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x83219dl, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLog10FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeLog10FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog10FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog10FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog10Float2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1d500a10779807d9l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x779807d9l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeLog10Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeLog10Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog10Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog10Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog10Float3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1d51d32b6db328b7l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6db328b7l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeLog10Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeLog10Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog10Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog10Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog10Float4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1d539c4663ce4995l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x63ce4995l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeLog10Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeLog10Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog10Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog10Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeLog10() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
index 2806db3..eaed9c2 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog1p.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeLog1p extends RSBaseCompute {
 
     private ScriptC_TestNativeLog1p script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeLog1pFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb77ad6f5e656185dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe656185dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLog1pFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeLog1pFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog1pFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog1pFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog1pFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x36154b5368503899l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x68503899l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeLog1pFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeLog1pFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog1pFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog1pFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog1pFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3617146e5e6b5977l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5e6b5977l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeLog1pFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeLog1pFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog1pFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog1pFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog1pFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3618dd8954867a55l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x54867a55l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeLog1pFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeLog1pFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog1pFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog1pFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeLog1p() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
index 7592524..ba811a8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeLog2.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeLog2 extends RSBaseCompute {
 
     private ScriptC_TestNativeLog2 script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeLog2FloatFloat() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x19b11c9c54fade20l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x54fade20l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeLog2FloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeLog2FloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog2FloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog2FloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog2Float2Float2() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x90125a688c689604l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8c689604l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeLog2Float2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeLog2Float2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog2Float3Float3() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x901423838283b6e2l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8283b6e2l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeLog2Float3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeLog2Float3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog2Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog2Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeLog2Float4Float4() {
-        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9015ec9e789ed7c0l, 10e-10, 10e10);
+        Allocation inV = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x789ed7c0l, 10e-10, 10e10);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeLog2Float4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeLog2Float4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeLog2Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeLog2Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeLog2() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
index 401fb73..d3ec54c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeNormalize.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeNormalize extends RSBaseCompute {
 
     private ScriptC_TestNativeNormalize script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeNormalizeFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x487756167e4aac53l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7e4aac53l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeNormalizeFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeNormalizeFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNativeNormalizeFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeNormalizeFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatN {
@@ -101,7 +113,7 @@
     }
 
     private void checkNativeNormalizeFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x65c77dbcedd0e45fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xedd0e45fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeNormalizeFloat2Float2(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsNativeNormalizeFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -143,31 +159,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNativeNormalizeFloat2Float2" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeNormalizeFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeNormalizeFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x65c946d7e3ec053dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe3ec053dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeNormalizeFloat3Float3(inV, out);
@@ -186,9 +208,13 @@
 
     private void verifyResultsNativeNormalizeFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -209,31 +235,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNativeNormalizeFloat3Float3" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeNormalizeFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeNormalizeFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x65cb0ff2da07261bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xda07261bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeNormalizeFloat4Float4(inV, out);
@@ -252,9 +284,13 @@
 
     private void verifyResultsNativeNormalizeFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -275,27 +311,33 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNativeNormalizeFloat4Float4" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNativeNormalizeFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeNormalize() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
index abe6999..930c892 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativePowr.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativePowr extends RSBaseCompute {
 
     private ScriptC_TestNativePowr script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativePowrFloatFloatFloat() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x22637077834d1839l, 0, 256);
-        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xef7b0ab4f9181f0fl, -15, 15);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x834d1839l, 0, 256);
+        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf9181f0fl, -15, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativePowrFloatFloatFloat(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativePowrFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativePowrFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativePowrFloat2Float2Float2() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x47afceb7283b11a5l, 0, 256);
-        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x65ac261bb67d4abbl, -15, 15);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x283b11a5l, 0, 256);
+        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb67d4abbl, -15, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativePowrFloat2Float2Float2(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativePowrFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativePowrFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativePowrFloat3Float3Float3() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe2961d5b10aef718l, 0, 256);
-        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x411aa11d0d9fcd3el, -15, 15);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x10aef718l, 0, 256);
+        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd9fcd3el, -15, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativePowrFloat3Float3Float3(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativePowrFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativePowrFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativePowrFloat4Float4Float4() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7d7c6bfef922dc8bl, 0, 256);
-        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1c891c1e64c24fc1l, -15, 15);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf922dc8bl, 0, 256);
+        Allocation inExponent = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x64c24fc1l, -15, 15);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativePowrFloat4Float4Float4(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativePowrFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativePowrFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativePowr() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
index 3d4daf7..3793956 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRecip.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeRecip extends RSBaseCompute {
 
     private ScriptC_TestNativeRecip script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeRecipFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4ec14a4fcc4ed441l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcc4ed441l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeRecipFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeRecipFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRecipFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRecipFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRecipFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd1ec6fa169d54a5dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x69d54a5dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeRecipFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeRecipFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRecipFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRecipFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRecipFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd1ee38bc5ff06b3bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5ff06b3bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeRecipFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeRecipFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRecipFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRecipFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRecipFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd1f001d7560b8c19l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x560b8c19l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeRecipFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeRecipFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRecipFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRecipFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeRecip() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
index 989c3f3..09f6c516 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRootn.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeRootn extends RSBaseCompute {
 
     private ScriptC_TestNativeRootn script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNativeRootnFloatIntFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6693fe5c237ac0f1l, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x6693fe5c237ac0e9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x237ac0f1l, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x237ac0e9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNativeRootnFloatIntFloat(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRootnFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRootnFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRootnFloat2Int2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5363e8c04afd5bcdl, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x5363e8c04afd5bc5l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4afd5bcdl, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x4afd5bc5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNativeRootnFloat2Int2Float2(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRootnFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRootnFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRootnFloat3Int3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x791a272340afc886l, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x791a272340afc87el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x40afc886l, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x40afc87el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNativeRootnFloat3Int3Float3(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRootnFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRootnFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRootnFloat4Int4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x9ed065863662353fl, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x9ed0658636623537l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3662353fl, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x36623537l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNativeRootnFloat4Int4Float4(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRootnFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRootnFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeRootn() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
index 14cdc42..fd157b4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeRsqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeRsqrt extends RSBaseCompute {
 
     private ScriptC_TestNativeRsqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeRsqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf3caff6b795084f6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x795084f6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeRsqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeRsqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRsqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRsqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRsqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd5098485fb0a95aal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xfb0a95aal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeRsqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeRsqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRsqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRsqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRsqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd50b4da0f125b688l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf125b688l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeRsqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeRsqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRsqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRsqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeRsqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd50d16bbe740d766l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe740d766l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeRsqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeRsqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeRsqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeRsqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeRsqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
index efed35c..a49cd12 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeSin extends RSBaseCompute {
 
     private ScriptC_TestNativeSin script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeSinFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb8fe46da9f3e52c8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9f3e52c8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeSinFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeSinFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2468764eed9e276cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xed9e276cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeSinFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeSinFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x246a3f69e3b9484al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe3b9484al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeSinFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeSinFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x246c0884d9d46928l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd9d46928l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeSinFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeSinFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeSin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
index cc4e42b..60c746b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSincos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeSincos extends RSBaseCompute {
 
     private ScriptC_TestNativeSincos script;
@@ -41,7 +43,7 @@
     }
 
     private void checkNativeSincosFloatFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe15df2366436cc13l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6436cc13l, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -64,11 +66,16 @@
 
     private void verifyResultsNativeSincosFloatFloatFloat(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -86,37 +93,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j], 0.0005)) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSincosFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSincosFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSincosFloat2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe5a1f1dcda676ea9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xda676ea9l, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -139,11 +154,16 @@
 
     private void verifyResultsNativeSincosFloat2Float2Float2(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -161,37 +181,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j], 0.0005)) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSincosFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSincosFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSincosFloat3Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3a06cffcdc45704al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdc45704al, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -214,11 +242,16 @@
 
     private void verifyResultsNativeSincosFloat3Float3Float3(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -236,37 +269,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSincosFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSincosFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSincosFloat4Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8e6bae1cde2371ebl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xde2371ebl, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -289,11 +330,16 @@
 
     private void verifyResultsNativeSincosFloat4Float4Float4(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -311,33 +357,41 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j], 0.0005)) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSincosFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSincosFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeSincos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
index 8f03189..28083e9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeSinh extends RSBaseCompute {
 
     private ScriptC_TestNativeSinh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeSinhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa11cf844515a0f86l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x515a0f86l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeSinhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeSinhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xaa17dab657f45fbal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x57f45fbal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeSinhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeSinhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xaa19a3d14e0f8098l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4e0f8098l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeSinhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeSinhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xaa1b6cec442aa176l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x442aa176l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeSinhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeSinhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeSinh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
index 53ada72..8cd1abf 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSinpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeSinpi extends RSBaseCompute {
 
     private ScriptC_TestNativeSinpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeSinpiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6e76d30caee7fd93l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xaee7fd93l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeSinpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeSinpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinpiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd8150be20e10bb9fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe10bb9fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeSinpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeSinpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinpiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd816d4fd042bdc7dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x42bdc7dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeSinpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeSinpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSinpiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd8189e17fa46fd5bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfa46fd5bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeSinpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeSinpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSinpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSinpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeSinpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
index 7e52f17..75a569f 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeSqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeSqrt extends RSBaseCompute {
 
     private ScriptC_TestNativeSqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeSqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5de9ec2c642f9b06l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x642f9b06l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeSqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeSqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x4e6581e66050ef3al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6050ef3al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeSqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeSqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x4e674b01566c1018l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x566c1018l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeSqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeSqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeSqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4e69141c4c8730f6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4c8730f6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeSqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeSqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeSqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeSqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeSqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
index 99aed2d..390538a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTan.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeTan extends RSBaseCompute {
 
     private ScriptC_TestNativeTan script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeTanFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x62e3c32037b34543l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x37b34543l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeTanFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeTanFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3ee708f9124981cfl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x124981cfl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeTanFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeTanFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3ee8d2140864a2adl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x864a2adl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeTanFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeTanFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3eea9b2efe7fc38bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfe7fc38bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeTanFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeTanFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeTan() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
index c2bb0ca..4b18a96 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeTanh extends RSBaseCompute {
 
     private ScriptC_TestNativeTanh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeTanhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2aa8d7f4ecfeca2fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xecfeca2fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeTanhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeTanhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1d5a7d4a80bc8e5bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x80bc8e5bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeTanhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeTanhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1d5c466576d7af39l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x76d7af39l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeTanhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeTanhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1d5e0f806cf2d017l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6cf2d017l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeTanhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeTanhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeTanh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
index c93e6a5..dcf2e608 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNativeTanpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNativeTanpi extends RSBaseCompute {
 
     private ScriptC_TestNativeTanpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNativeTanpiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x88f565b6d39357f6l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd39357f6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNativeTanpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNativeTanpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanpiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x34465ac4e7b090aal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe7b090aal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNativeTanpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsNativeTanpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanpiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x344823dfddcbb188l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xddcbb188l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNativeTanpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsNativeTanpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNativeTanpiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3449ecfad3e6d266l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd3e6d266l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNativeTanpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsNativeTanpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNativeTanpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNativeTanpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNativeTanpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
index 932f052..57914c8 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNextafter.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNextafter extends RSBaseCompute {
 
     private ScriptC_TestNextafter script;
@@ -41,8 +43,8 @@
     }
 
     private void checkNextafterFloatFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa3b02393ad412956l, false);
-        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xde8acce6afd7c03dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xad412956l, false);
+        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xafd7c03dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInTarget(inTarget);
@@ -63,11 +65,16 @@
 
     private void verifyResultsNextafterFloatFloatFloat(Allocation inV, Allocation inTarget, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayInTarget = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInTarget, (float) 42);
         inTarget.copyTo(arrayInTarget);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inTarget: ");
-                    appendVariableToMessage(message, args.inTarget);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inTarget: ");
+                        appendVariableToMessage(message, args.inTarget);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNextafterFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNextafterFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNextafterFloat2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x29b40e0584a1e22l, false);
-        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x68f3a41af7e4d541l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x584a1e22l, false);
+        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf7e4d541l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInTarget(inTarget);
@@ -129,11 +144,16 @@
 
     private void verifyResultsNextafterFloat2Float2Float2(Allocation inV, Allocation inTarget, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayInTarget = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInTarget, (float) 42);
         inTarget.copyTo(arrayInTarget);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inTarget: ");
-                    appendVariableToMessage(message, args.inTarget);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inTarget: ");
+                        appendVariableToMessage(message, args.inTarget);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNextafterFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNextafterFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNextafterFloat3Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x57001f005a281fc3l, false);
-        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3261a1f4e4f910dcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5a281fc3l, false);
+        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe4f910dcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInTarget(inTarget);
@@ -195,11 +223,16 @@
 
     private void verifyResultsNextafterFloat3Float3Float3(Allocation inV, Allocation inTarget, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayInTarget = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInTarget, (float) 42);
         inTarget.copyTo(arrayInTarget);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inTarget: ");
-                    appendVariableToMessage(message, args.inTarget);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inTarget: ");
+                        appendVariableToMessage(message, args.inTarget);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNextafterFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNextafterFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNextafterFloat4Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xab64fd205c062164l, false);
-        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xfbcf9fced20d4c77l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5c062164l, false);
+        Allocation inTarget = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd20d4c77l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInTarget(inTarget);
@@ -261,11 +302,16 @@
 
     private void verifyResultsNextafterFloat4Float4Float4(Allocation inV, Allocation inTarget, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayInTarget = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInTarget, (float) 42);
         inTarget.copyTo(arrayInTarget);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inTarget: ");
-                    appendVariableToMessage(message, args.inTarget);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inTarget: ");
+                        appendVariableToMessage(message, args.inTarget);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkNextafterFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkNextafterFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNextafter() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
index ed233bc..8dd2708 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestNormalize.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestNormalize extends RSBaseCompute {
 
     private ScriptC_TestNormalize script;
@@ -40,7 +42,7 @@
     }
 
     private void checkNormalizeFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6db01d449460061cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9460061cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testNormalizeFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsNormalizeFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatFloat args = new ArgumentsFloatFloat();
             // Create the appropriate sized arrays in args
@@ -76,23 +82,29 @@
                 valid = false;
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                message.append("Input inV: ");
-                appendVariableToMessage(message, arrayInV[i]);
-                message.append("\n");
-                message.append("Expected output out: ");
-                appendVariableToMessage(message, args.out);
-                message.append("\n");
-                message.append("Actual   output out: ");
-                appendVariableToMessage(message, arrayOut[i]);
-                if (!args.out.couldBe(arrayOut[i])) {
-                    message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    message.append("Input inV: ");
+                    appendVariableToMessage(message, arrayInV[i]);
+                    message.append("\n");
+                    message.append("Expected output out: ");
+                    appendVariableToMessage(message, args.out);
+                    message.append("\n");
+                    message.append("Actual   output out: ");
+                    appendVariableToMessage(message, arrayOut[i]);
+                    if (!args.out.couldBe(arrayOut[i])) {
+                        message.append(" FAIL");
+                    }
+                    message.append("\n");
+                    message.append("Errors at");
                 }
-                message.append("\n");
-                assertTrue("Incorrect output for checkNormalizeFloatFloat" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNormalizeFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public class ArgumentsFloatNFloatN {
@@ -101,7 +113,7 @@
     }
 
     private void checkNormalizeFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3cde199a6e066120l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6e066120l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testNormalizeFloat2Float2(inV, out);
@@ -120,9 +132,13 @@
 
     private void verifyResultsNormalizeFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -143,31 +159,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 2 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 2 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 2 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 2 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNormalizeFloat2Float2" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNormalizeFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNormalizeFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3cdfe2b5642181fel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x642181fel, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testNormalizeFloat3Float3(inV, out);
@@ -186,9 +208,13 @@
 
     private void verifyResultsNormalizeFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -209,31 +235,37 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 3 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 3 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNormalizeFloat3Float3" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNormalizeFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkNormalizeFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x3ce1abd05a3ca2dcl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5a3ca2dcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testNormalizeFloat4Float4(inV, out);
@@ -252,9 +284,13 @@
 
     private void verifyResultsNormalizeFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             ArgumentsFloatNFloatN args = new ArgumentsFloatNFloatN();
             // Create the appropriate sized arrays in args
@@ -275,27 +311,33 @@
                 }
             }
             if (!valid) {
-                StringBuilder message = new StringBuilder();
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, arrayInV[i * 4 + j]);
-                    message.append("\n");
-                }
-                for (int j = 0; j < 4 ; j++) {
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out[j]);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                if (!errorFound) {
+                    errorFound = true;
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, arrayInV[i * 4 + j]);
+                        message.append("\n");
                     }
-                    message.append("\n");
+                    for (int j = 0; j < 4 ; j++) {
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out[j]);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out[j].couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                    }
+                    message.append("Errors at");
                 }
-                assertTrue("Incorrect output for checkNormalizeFloat4Float4" +
-                        (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                message.append(" [");
+                message.append(Integer.toString(i));
+                message.append("]");
             }
         }
+        assertFalse("Incorrect output for checkNormalizeFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testNormalize() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
index 0990141..296927e 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPow.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestPow extends RSBaseCompute {
 
     private ScriptC_TestPow script;
@@ -41,8 +43,8 @@
     }
 
     private void checkPowFloatFloatFloat() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x377b8a6622b91eel, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x8bdde8de49a5f734l, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x622b91eel, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x49a5f734l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -63,11 +65,16 @@
 
     private void verifyResultsPowFloatFloatFloat(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowFloat2Float2Float2() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x15be0382895c2294l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xeb77bf60bbad35fal, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x895c2294l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbbad35fal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -129,11 +144,16 @@
 
     private void verifyResultsPowFloat2Float2Float2(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowFloat3Float3Float3() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xb0a4522671d00807l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc6e63a6212cfb87dl, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x71d00807l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x12cfb87dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -195,11 +223,16 @@
 
     private void verifyResultsPowFloat3Float3Float3(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowFloat4Float4Float4() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4b8aa0ca5a43ed7al, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa254b56369f23b00l, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5a43ed7al, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x69f23b00l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -261,11 +302,16 @@
 
     private void verifyResultsPowFloat4Float4Float4(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testPow() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
index 28deaa7..5a866f5 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPown.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestPown extends RSBaseCompute {
 
     private ScriptC_TestPown script;
@@ -41,8 +43,8 @@
     }
 
     private void checkPownFloatIntFloat() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe020952d622f0405l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x9c3888e9096b9f1bl, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x622f0405l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x96b9f1bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -63,11 +65,16 @@
 
     private void verifyResultsPownFloatIntFloat(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         int[] arrayInExponent = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPownFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPownFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPownFloat2Int2Float2() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7571c02be438467l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xe6177b3249076ddl, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xbe438467l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x249076ddl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -129,11 +144,16 @@
 
     private void verifyResultsPownFloat2Int2Float2(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         int[] arrayInExponent = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPownFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPownFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPownFloat3Int3Float3() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5e88c45be35ff8a2l, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xaf710734144a81a8l, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe35ff8a2l, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x144a81a8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -195,11 +223,16 @@
 
     private void verifyResultsPownFloat3Int3Float3(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         int[] arrayInExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPownFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPownFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPownFloat4Int4Float4() {
-        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb5ba6cb5087c6cddl, false);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x508096b504048c73l, false);
+        Allocation inBase = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x87c6cddl, false);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x4048c73l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -261,11 +302,16 @@
 
     private void verifyResultsPownFloat4Int4Float4(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         int[] arrayInExponent = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (int) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPownFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPownFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testPown() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
index a1fd360..710d89b 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestPowr.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestPowr extends RSBaseCompute {
 
     private ScriptC_TestPowr script;
@@ -41,8 +43,8 @@
     }
 
     private void checkPowrFloatFloatFloat() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x432f9eac0c490ca4l, 0, 3000);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7ee76eaeab21ab0al, false);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc490ca4l, 0, 3000);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xab21ab0al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -63,11 +65,16 @@
 
     private void verifyResultsPowrFloatFloatFloat(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowrFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowrFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowrFloat2Float2Float2() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5ce1f4c2eae1fd16l, 0, 3000);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1f9ec14817a9ddcl, false);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xeae1fd16l, 0, 3000);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x817a9ddcl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -129,11 +144,16 @@
 
     private void verifyResultsPowrFloat2Float2Float2(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowrFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowrFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowrFloat3Float3Float3() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf7c84366d355e289l, 0, 3000);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdd686715d89d205fl, false);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd355e289l, 0, 3000);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd89d205fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -195,11 +223,16 @@
 
     private void verifyResultsPowrFloat3Float3Float3(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowrFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowrFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkPowrFloat4Float4Float4() {
-        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x92ae920abbc9c7fcl, 0, 3000);
-        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb8d6e2172fbfa2e2l, false);
+        Allocation inBase = createRandomFloatAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbbc9c7fcl, 0, 3000);
+        Allocation inExponent = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2fbfa2e2l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInExponent(inExponent);
@@ -261,11 +302,16 @@
 
     private void verifyResultsPowrFloat4Float4Float4(Allocation inBase, Allocation inExponent, Allocation out, boolean relaxed) {
         float[] arrayInBase = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInBase, (float) 42);
         inBase.copyTo(arrayInBase);
         float[] arrayInExponent = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInExponent, (float) 42);
         inExponent.copyTo(arrayInExponent);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inBase: ");
-                    appendVariableToMessage(message, args.inBase);
-                    message.append("\n");
-                    message.append("Input inExponent: ");
-                    appendVariableToMessage(message, args.inExponent);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inBase: ");
+                        appendVariableToMessage(message, args.inBase);
+                        message.append("\n");
+                        message.append("Input inExponent: ");
+                        appendVariableToMessage(message, args.inExponent);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkPowrFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkPowrFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testPowr() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
index cb908be..3dbba71 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRadians.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRadians extends RSBaseCompute {
 
     private ScriptC_TestRadians script;
@@ -40,7 +42,7 @@
     }
 
     private void checkRadiansFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x6e5054c0042adfabl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x42adfabl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testRadiansFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsRadiansFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRadiansFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRadiansFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRadiansFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc20ed424de23baf7l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xde23baf7l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testRadiansFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsRadiansFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRadiansFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRadiansFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRadiansFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc2109d3fd43edbd5l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd43edbd5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testRadiansFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsRadiansFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRadiansFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRadiansFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRadiansFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc212665aca59fcb3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xca59fcb3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testRadiansFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsRadiansFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRadiansFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRadiansFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRadians() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
index 2bd73c5..5bbcc3a 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemainder.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRemainder extends RSBaseCompute {
 
     private ScriptC_TestRemainder script;
@@ -41,8 +43,8 @@
     }
 
     private void checkRemainderFloatFloatFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd47c3f07317ea229l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb246eb0ee2ebe35al, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x317ea229l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe2ebe35al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -63,11 +65,16 @@
 
     private void verifyResultsRemainderFloatFloatFloat(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRemainderFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemainderFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemainderFloat2Float2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x27d975633fdcf8d5l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xce8489f2aa4be3a6l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3fdcf8d5l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xaa4be3a6l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -129,11 +144,16 @@
 
     private void verifyResultsRemainderFloat2Float2Float2(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRemainderFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemainderFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemainderFloat3Float3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3681e9ce2a8e4d6l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x97e8cb3b7d2776dfl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe2a8e4d6l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7d2776dfl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -195,11 +223,16 @@
 
     private void verifyResultsRemainderFloat3Float3Float3(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRemainderFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemainderFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemainderFloat4Float4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xdef6c7d68574d0d7l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x614d0c8450030a18l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8574d0d7l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x50030a18l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInDenominator(inDenominator);
@@ -261,11 +302,16 @@
 
     private void verifyResultsRemainderFloat4Float4Float4(Allocation inNumerator, Allocation inDenominator, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRemainderFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemainderFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRemainder() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
index 29338d8..d4868a6 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRemquo.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRemquo extends RSBaseCompute {
 
     private ScriptC_TestRemquo script;
@@ -42,8 +44,8 @@
     }
 
     private void checkRemquoFloatFloatIntFloat() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xcd5efc69edd4ff2al, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4ff0c9312eb19f93l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xedd4ff2al, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x2eb19f93l, false);
         try {
             Allocation outQuotient = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -68,13 +70,19 @@
 
     private void verifyResultsRemquoFloatFloatIntFloat(Allocation inNumerator, Allocation inDenominator, Allocation outQuotient, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         int[] arrayOutQuotient = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayOutQuotient, (int) 42);
         outQuotient.copyTo(arrayOutQuotient);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -89,30 +97,38 @@
                 String errorMessage = CoreMathVerifier.verifyRemquo(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Output outQuotient: ");
-                    appendVariableToMessage(message, args.outQuotient);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkRemquoFloatFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Output outQuotient: ");
+                        appendVariableToMessage(message, args.outQuotient);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemquoFloatFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemquoFloat2Float2Int2Float2() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x28c14abc3a27171al, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x58f8799a6ba08403l, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3a27171al, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6ba08403l, false);
         try {
             Allocation outQuotient = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -137,13 +153,19 @@
 
     private void verifyResultsRemquoFloat2Float2Int2Float2(Allocation inNumerator, Allocation inDenominator, Allocation outQuotient, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         int[] arrayOutQuotient = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayOutQuotient, (int) 42);
         outQuotient.copyTo(arrayOutQuotient);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -158,30 +180,38 @@
                 String errorMessage = CoreMathVerifier.verifyRemquo(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Output outQuotient: ");
-                    appendVariableToMessage(message, args.outQuotient);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkRemquoFloat2Float2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Output outQuotient: ");
+                        appendVariableToMessage(message, args.outQuotient);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemquoFloat2Float2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemquoFloat3Float3Int3Float3() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf60211df96052526l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd1d6c7fcf273f8afl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x96052526l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf273f8afl, false);
         try {
             Allocation outQuotient = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -206,13 +236,19 @@
 
     private void verifyResultsRemquoFloat3Float3Int3Float3(Allocation inNumerator, Allocation inDenominator, Allocation outQuotient, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         int[] arrayOutQuotient = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutQuotient, (int) 42);
         outQuotient.copyTo(arrayOutQuotient);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -227,30 +263,38 @@
                 String errorMessage = CoreMathVerifier.verifyRemquo(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Output outQuotient: ");
-                    appendVariableToMessage(message, args.outQuotient);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkRemquoFloat3Float3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Output outQuotient: ");
+                        appendVariableToMessage(message, args.outQuotient);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemquoFloat3Float3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRemquoFloat4Float4Int4Float4() {
-        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xc342d902f1e33332l, false);
-        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4ab5165f79476d5bl, false);
+        Allocation inNumerator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf1e33332l, false);
+        Allocation inDenominator = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x79476d5bl, false);
         try {
             Allocation outQuotient = Allocation.createSized(mRS, getElement(mRS, Element.DataType.SIGNED_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -275,13 +319,19 @@
 
     private void verifyResultsRemquoFloat4Float4Int4Float4(Allocation inNumerator, Allocation inDenominator, Allocation outQuotient, Allocation out, boolean relaxed) {
         float[] arrayInNumerator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInNumerator, (float) 42);
         inNumerator.copyTo(arrayInNumerator);
         float[] arrayInDenominator = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInDenominator, (float) 42);
         inDenominator.copyTo(arrayInDenominator);
         int[] arrayOutQuotient = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayOutQuotient, (int) 42);
         outQuotient.copyTo(arrayOutQuotient);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -296,25 +346,33 @@
                 String errorMessage = CoreMathVerifier.verifyRemquo(args, target);
                 boolean valid = errorMessage == null;
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inNumerator: ");
-                    appendVariableToMessage(message, args.inNumerator);
-                    message.append("\n");
-                    message.append("Input inDenominator: ");
-                    appendVariableToMessage(message, args.inDenominator);
-                    message.append("\n");
-                    message.append("Output outQuotient: ");
-                    appendVariableToMessage(message, args.outQuotient);
-                    message.append("\n");
-                    message.append("Output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append(errorMessage);
-                    assertTrue("Incorrect output for checkRemquoFloat4Float4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inNumerator: ");
+                        appendVariableToMessage(message, args.inNumerator);
+                        message.append("\n");
+                        message.append("Input inDenominator: ");
+                        appendVariableToMessage(message, args.inDenominator);
+                        message.append("\n");
+                        message.append("Output outQuotient: ");
+                        appendVariableToMessage(message, args.outQuotient);
+                        message.append("\n");
+                        message.append("Output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append(errorMessage);
+                        message.append("Errors at");
+                    }
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRemquoFloat4Float4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRemquo() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
index 975f321..1c22e95 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRint.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRint extends RSBaseCompute {
 
     private ScriptC_TestRint script;
@@ -40,7 +42,7 @@
     }
 
     private void checkRintFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb88cd9adbf02db54l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbf02db54l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testRintFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsRintFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRintFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRintFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRintFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xf12aed2f601c6298l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x601c6298l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testRintFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsRintFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRintFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRintFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRintFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf12cb64a56378376l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x56378376l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testRintFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsRintFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRintFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRintFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRintFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xf12e7f654c52a454l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4c52a454l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testRintFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsRintFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRintFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRintFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRint() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
index 1d7a628..5403dda 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRootn.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRootn extends RSBaseCompute {
 
     private ScriptC_TestRootn script;
@@ -41,8 +43,8 @@
     }
 
     private void checkRootnFloatIntFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x37d0d9514daae0ccl, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x37d0d9514daae0c4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4daae0ccl, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 1, 0x4daae0c4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -63,11 +65,16 @@
 
     private void verifyResultsRootnFloatIntFloat(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 1];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRootnFloatIntFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRootnFloatIntFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRootnFloat2Int2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2a7a849dcb32d88el, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0x2a7a849dcb32d886l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xcb32d88el, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 2, 0xcb32d886l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -129,11 +144,16 @@
 
     private void verifyResultsRootnFloat2Int2Float2(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 2];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRootnFloat2Int2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRootnFloat2Int2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRootnFloat3Int3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5030c300c0e54547l, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0x5030c300c0e5453fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc0e54547l, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 3, 0xc0e5453fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -195,11 +223,16 @@
 
     private void verifyResultsRootnFloat3Int3Float3(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRootnFloat3Int3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRootnFloat3Int3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRootnFloat4Int4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x75e70163b697b200l, false);
-        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0x75e70163b697b1f8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xb697b200l, false);
+        Allocation inN = createRandomAllocation(mRS, Element.DataType.SIGNED_32, 4, 0xb697b1f8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInN(inN);
@@ -261,11 +302,16 @@
 
     private void verifyResultsRootnFloat4Int4Float4(Allocation inV, Allocation inN, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         int[] arrayInN = new int[INPUTSIZE * 4];
+        Arrays.fill(arrayInN, (int) 42);
         inN.copyTo(arrayInN);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,27 +327,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Input inN: ");
-                    appendVariableToMessage(message, args.inN);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Input inN: ");
+                        appendVariableToMessage(message, args.inN);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRootnFloat4Int4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRootnFloat4Int4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRootn() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
index 60bf608..3fde559 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRound.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRound extends RSBaseCompute {
 
     private ScriptC_TestRound script;
@@ -40,7 +42,7 @@
     }
 
     private void checkRoundFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x51f05c443f4006c3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x3f4006c3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testRoundFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsRoundFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRoundFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRoundFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRoundFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xd0e51e3399eb174fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x99eb174fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testRoundFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsRoundFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRoundFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRoundFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRoundFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xd0e6e74e9006382dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9006382dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testRoundFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsRoundFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRoundFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRoundFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRoundFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xd0e8b0698621590bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8621590bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testRoundFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsRoundFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRoundFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRoundFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRound() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
index b44c4e9..b4c3e23 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestRsqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestRsqrt extends RSBaseCompute {
 
     private ScriptC_TestRsqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkRsqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x637c4873aa3f3b8fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xaa3f3b8fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testRsqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsRsqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRsqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRsqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRsqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8c8200af672f6cbbl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x672f6cbbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testRsqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsRsqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRsqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRsqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRsqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8c83c9ca5d4a8d99l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x5d4a8d99l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testRsqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsRsqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRsqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRsqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkRsqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8c8592e55365ae77l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x5365ae77l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testRsqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsRsqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkRsqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkRsqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testRsqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
index 7e5d7e6..d3f12fe 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSign.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSign extends RSBaseCompute {
 
     private ScriptC_TestSign script;
@@ -40,7 +42,7 @@
     }
 
     private void checkSignFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xadc8bc2f364ea474l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x364ea474l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testSignFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsSignFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSignFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSignFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSignFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x2eb1e646027c0ab8l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x27c0ab8l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testSignFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsSignFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSignFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSignFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSignFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x2eb3af60f8972b96l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xf8972b96l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testSignFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsSignFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSignFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSignFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSignFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2eb5787beeb24c74l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xeeb24c74l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testSignFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsSignFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSignFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSignFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSign() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
index 80318a8..6acf220 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSin.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSin extends RSBaseCompute {
 
     private ScriptC_TestSin script;
@@ -40,7 +42,7 @@
     }
 
     private void checkSinFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x983d81dfe3401d29l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe3401d29l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testSinFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsSinFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x9419bf571e8cde05l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x1e8cde05l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testSinFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsSinFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x941b887214a7fee3l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x14a7fee3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testSinFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsSinFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x941d518d0ac31fc1l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xac31fc1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testSinFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsSinFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSin() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
index f238e8b..64d71d4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSincos.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSincos extends RSBaseCompute {
 
     private ScriptC_TestSincos script;
@@ -41,7 +43,7 @@
     }
 
     private void checkSincosFloatFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb8748e13e46c48d4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xe46c48d4l, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
@@ -64,11 +66,16 @@
 
     private void verifyResultsSincosFloatFloatFloat(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -86,37 +93,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 1 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSincosFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSincosFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSincosFloat2Float2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xc85bab4e3e2fc77cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3e2fc77cl, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
@@ -139,11 +154,16 @@
 
     private void verifyResultsSincosFloat2Float2Float2(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -161,37 +181,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 2 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSincosFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSincosFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSincosFloat3Float3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x1cc0896e400dc91dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x400dc91dl, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
@@ -214,11 +242,16 @@
 
     private void verifyResultsSincosFloat3Float3Float3(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -236,37 +269,45 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSincosFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSincosFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSincosFloat4Float4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7125678e41ebcabel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x41ebcabel, false);
         try {
             Allocation outCos = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
@@ -289,11 +330,16 @@
 
     private void verifyResultsSincosFloat4Float4Float4(Allocation inV, Allocation outCos, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOutCos = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOutCos, (float) 42);
         outCos.copyTo(arrayOutCos);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -311,33 +357,41 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output outCos: ");
-                    appendVariableToMessage(message, args.outCos);
-                    message.append("\n");
-                    message.append("Actual   output outCos: ");
-                    appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
-                    if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output outCos: ");
+                        appendVariableToMessage(message, args.outCos);
+                        message.append("\n");
+                        message.append("Actual   output outCos: ");
+                        appendVariableToMessage(message, arrayOutCos[i * 4 + j]);
+                        if (!args.outCos.couldBe(arrayOutCos[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
-                    }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSincosFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSincosFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSincos() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
index 9adf1c8..20148d4 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSinh extends RSBaseCompute {
 
     private ScriptC_TestSinh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkSinhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x20bbe226bda70dd1l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbda70dd1l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testSinhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsSinhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6cdf1f16900d0b6dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x900d0b6dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testSinhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsSinhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x6ce0e83186282c4bl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x86282c4bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testSinhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsSinhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x6ce2b14c7c434d29l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x7c434d29l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testSinhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsSinhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSinh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
index f00e45f..61c1d24 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSinpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSinpi extends RSBaseCompute {
 
     private ScriptC_TestSinpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkSinpiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xde281c14dfd6b42cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdfd6b42cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testSinpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsSinpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinpiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8f8d880b7a3592b0l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7a3592b0l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testSinpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsSinpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinpiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8f8f51267050b38el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x7050b38el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testSinpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsSinpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSinpiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8f911a41666bd46cl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x666bd46cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testSinpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsSinpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSinpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSinpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSinpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
index fbb4e6d..cbb092d 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestSqrt.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestSqrt extends RSBaseCompute {
 
     private ScriptC_TestSqrt script;
@@ -40,7 +42,7 @@
     }
 
     private void checkSqrtFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xdd88d60ed07c9951l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xd07c9951l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testSqrtFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsSqrtFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSqrtFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSqrtFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSqrtFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x112cc64698699aedl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x98699aedl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testSqrtFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsSqrtFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSqrtFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSqrtFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSqrtFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x112e8f618e84bbcbl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8e84bbcbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testSqrtFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsSqrtFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSqrtFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSqrtFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkSqrtFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1130587c849fdca9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x849fdca9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testSqrtFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsSqrtFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkSqrtFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkSqrtFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testSqrt() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
index ee2b785..097a093 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestStep.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestStep extends RSBaseCompute {
 
     private ScriptC_TestStep script;
@@ -41,8 +43,8 @@
     }
 
     private void checkStepFloatFloatFloat() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x598900c49184fbfel, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9aefccaa832f44e9l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9184fbfel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x832f44e9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -63,11 +65,16 @@
 
     private void verifyResultsStepFloatFloatFloat(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -83,32 +90,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloatFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloatFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat2Float2Float2() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x6efefa297df69504l, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x12eb000b8567f58bl, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x7df69504l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8567f58bl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -129,11 +144,16 @@
 
     private void verifyResultsStepFloat2Float2Float2(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -149,32 +169,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat2Float2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat2Float2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat3Float3Float3() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x9e548cd666a7a77l, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x674fde2b8745f72cl, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x666a7a77l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8745f72cl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -195,11 +223,16 @@
 
     private void verifyResultsStepFloat3Float3Float3(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -215,32 +248,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat3Float3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat3Float3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat4Float4Float4() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa4cb97714ede5feal, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xbbb4bc4b8923f8cdl, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x4ede5feal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8923f8cdl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -261,11 +302,16 @@
 
     private void verifyResultsStepFloat4Float4Float4(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -281,32 +327,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat4Float4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat4Float4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat2FloatFloat2() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb0ac06c45b3d8b26l, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xfa7d66f2b6d48a21l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x5b3d8b26l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb6d48a21l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -327,11 +381,16 @@
 
     private void verifyResultsStepFloat2FloatFloat2(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -347,32 +406,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat2FloatFloat2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat2FloatFloat2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat3FloatFloat3() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x304ed837c68f43fal, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4fcd1a0aa53f7e7dl, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xc68f43fal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa53f7e7dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -393,11 +460,16 @@
 
     private void verifyResultsStepFloat3FloatFloat3(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -413,32 +485,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat3FloatFloat3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat3FloatFloat3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloat4FloatFloat4() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xaff1a9ab31e0fccel, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xa51ccd2293aa72d9l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x31e0fccel, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x93aa72d9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -459,11 +539,16 @@
 
     private void verifyResultsStepFloat4FloatFloat4(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -479,32 +564,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloat4FloatFloat4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloat4FloatFloat4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloatFloat2Float2() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x70a0554e664b1852l, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xdd7f0d444e2f7c5l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x664b1852l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x44e2f7c5l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -525,11 +618,16 @@
 
     private void verifyResultsStepFloatFloat2Float2(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -545,32 +643,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloatFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloatFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloatFloat3Float3() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x9b2d75ce91abcbccl, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xdd9b9ef3afe18a3l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x91abcbccl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3afe18a3l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -591,11 +697,16 @@
 
     private void verifyResultsStepFloatFloat3Float3(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -611,32 +722,40 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloatFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloatFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkStepFloatFloat4Float4() {
-        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xc5ba964ebd0c7f46l, false);
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xddb830a31193981l, false);
+        Allocation inEdge = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xbd0c7f46l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x31193981l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.set_gAllocInV(inV);
@@ -657,11 +776,16 @@
 
     private void verifyResultsStepFloatFloat4Float4(Allocation inEdge, Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInEdge = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInEdge, (float) 42);
         inEdge.copyTo(arrayInEdge);
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -677,27 +801,35 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inEdge: ");
-                    appendVariableToMessage(message, args.inEdge);
-                    message.append("\n");
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inEdge: ");
+                        appendVariableToMessage(message, args.inEdge);
+                        message.append("\n");
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkStepFloatFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkStepFloatFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testStep() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
index b69ee28..908ca59 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTan.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestTan extends RSBaseCompute {
 
     private ScriptC_TestTan script;
@@ -40,7 +42,7 @@
     }
 
     private void checkTanFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4222fe257bb50fa4l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x7bb50fa4l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testTanFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsTanFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xae98520143383868l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x43383868l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testTanFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsTanFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xae9a1b1c39535946l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x39535946l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testTanFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsTanFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xae9be4372f6e7a24l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x2f6e7a24l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testTanFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsTanFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testTan() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
index c4ee08a..842c402 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanh.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestTanh extends RSBaseCompute {
 
     private ScriptC_TestTanh script;
@@ -40,7 +42,7 @@
     }
 
     private void checkTanhFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xaa47c1d7594bc87al, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x594bc87al, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testTanhFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsTanhFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanhFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanhFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanhFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xe021c1aab8d53a0el, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xb8d53a0el, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testTanhFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsTanhFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanhFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanhFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanhFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xe0238ac5aef05aecl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xaef05aecl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testTanhFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsTanhFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanhFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanhFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanhFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xe02553e0a50b7bcal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xa50b7bcal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testTanhFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsTanhFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanhFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanhFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testTanh() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
index dd6a383..13be7d9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTanpi.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestTanpi extends RSBaseCompute {
 
     private ScriptC_TestTanpi script;
@@ -40,7 +42,7 @@
     }
 
     private void checkTanpiFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xf8a6aebf04820e8fl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x4820e8fl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testTanpiFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsTanpiFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanpiFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanpiFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanpiFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0xebbed6ee53d567bbl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x53d567bbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testTanpiFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsTanpiFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanpiFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanpiFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanpiFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0xebc0a00949f08899l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x49f08899l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testTanpiFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsTanpiFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanpiFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanpiFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTanpiFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0xebc26924400ba977l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x400ba977l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testTanpiFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsTanpiFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTanpiFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTanpiFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testTanpi() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
index ea25ef1..cd11dc9 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTgamma.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestTgamma extends RSBaseCompute {
 
     private ScriptC_TestTgamma script;
@@ -40,7 +42,7 @@
     }
 
     private void checkTgammaFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x5c02c6a0eda55486l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xeda55486l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testTgammaFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsTgammaFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTgammaFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTgammaFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTgammaFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8fe7559b3399bcbal, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x3399bcbal, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testTgammaFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsTgammaFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTgammaFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTgammaFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTgammaFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8fe91eb629b4dd98l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x29b4dd98l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testTgammaFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsTgammaFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTgammaFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTgammaFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTgammaFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8feae7d11fcffe76l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x1fcffe76l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testTgammaFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsTgammaFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTgammaFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTgammaFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testTgamma() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
index ac44fb1..e29de2c 100644
--- a/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
+++ b/tests/tests/renderscript/src/android/renderscript/cts/generated/TestTrunc.java
@@ -22,6 +22,8 @@
 import android.renderscript.RSRuntimeException;
 import android.renderscript.Element;
 
+import java.util.Arrays;
+
 public class TestTrunc extends RSBaseCompute {
 
     private ScriptC_TestTrunc script;
@@ -40,7 +42,7 @@
     }
 
     private void checkTruncFloatFloat() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0xb16f216b11eebe01l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 1, 0x11eebe01l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 1), INPUTSIZE);
             script.forEach_testTruncFloatFloat(inV, out);
@@ -59,9 +61,13 @@
 
     private void verifyResultsTruncFloatFloat(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 1];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 1 ; j++) {
                 // Extract the inputs.
@@ -76,28 +82,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 1 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 1 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 1 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 1 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTruncFloatFloat" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTruncFloatFloat" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTruncFloat2Float2() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x8b83139b49d4961dl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 2, 0x49d4961dl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 2), INPUTSIZE);
             script.forEach_testTruncFloat2Float2(inV, out);
@@ -116,9 +130,13 @@
 
     private void verifyResultsTruncFloat2Float2(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 2];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 2 ; j++) {
                 // Extract the inputs.
@@ -133,28 +151,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 2 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 2 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 2 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 2 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTruncFloat2Float2" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTruncFloat2Float2" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTruncFloat3Float3() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x8b84dcb63fefb6fbl, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 3, 0x3fefb6fbl, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 3), INPUTSIZE);
             script.forEach_testTruncFloat3Float3(inV, out);
@@ -173,9 +199,13 @@
 
     private void verifyResultsTruncFloat3Float3(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 3 ; j++) {
                 // Extract the inputs.
@@ -190,28 +220,36 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTruncFloat3Float3" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTruncFloat3Float3" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     private void checkTruncFloat4Float4() {
-        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x8b86a5d1360ad7d9l, false);
+        Allocation inV = createRandomAllocation(mRS, Element.DataType.FLOAT_32, 4, 0x360ad7d9l, false);
         try {
             Allocation out = Allocation.createSized(mRS, getElement(mRS, Element.DataType.FLOAT_32, 4), INPUTSIZE);
             script.forEach_testTruncFloat4Float4(inV, out);
@@ -230,9 +268,13 @@
 
     private void verifyResultsTruncFloat4Float4(Allocation inV, Allocation out, boolean relaxed) {
         float[] arrayInV = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayInV, (float) 42);
         inV.copyTo(arrayInV);
         float[] arrayOut = new float[INPUTSIZE * 4];
+        Arrays.fill(arrayOut, (float) 42);
         out.copyTo(arrayOut);
+        StringBuilder message = new StringBuilder();
+        boolean errorFound = false;
         for (int i = 0; i < INPUTSIZE; i++) {
             for (int j = 0; j < 4 ; j++) {
                 // Extract the inputs.
@@ -247,24 +289,32 @@
                     valid = false;
                 }
                 if (!valid) {
-                    StringBuilder message = new StringBuilder();
-                    message.append("Input inV: ");
-                    appendVariableToMessage(message, args.inV);
-                    message.append("\n");
-                    message.append("Expected output out: ");
-                    appendVariableToMessage(message, args.out);
-                    message.append("\n");
-                    message.append("Actual   output out: ");
-                    appendVariableToMessage(message, arrayOut[i * 4 + j]);
-                    if (!args.out.couldBe(arrayOut[i * 4 + j])) {
-                        message.append(" FAIL");
+                    if (!errorFound) {
+                        errorFound = true;
+                        message.append("Input inV: ");
+                        appendVariableToMessage(message, args.inV);
+                        message.append("\n");
+                        message.append("Expected output out: ");
+                        appendVariableToMessage(message, args.out);
+                        message.append("\n");
+                        message.append("Actual   output out: ");
+                        appendVariableToMessage(message, arrayOut[i * 4 + j]);
+                        if (!args.out.couldBe(arrayOut[i * 4 + j])) {
+                            message.append(" FAIL");
+                        }
+                        message.append("\n");
+                        message.append("Errors at");
                     }
-                    message.append("\n");
-                    assertTrue("Incorrect output for checkTruncFloat4Float4" +
-                            (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), valid);
+                    message.append(" [");
+                    message.append(Integer.toString(i));
+                    message.append(", ");
+                    message.append(Integer.toString(j));
+                    message.append("]");
                 }
             }
         }
+        assertFalse("Incorrect output for checkTruncFloat4Float4" +
+                (relaxed ? "_relaxed" : "") + ":\n" + message.toString(), errorFound);
     }
 
     public void testTrunc() {
diff --git a/tests/tests/renderscript/src/android/renderscript/cts/kernel_input.rs b/tests/tests/renderscript/src/android/renderscript/cts/kernel_input.rs
new file mode 100644
index 0000000..2eaca92
--- /dev/null
+++ b/tests/tests/renderscript/src/android/renderscript/cts/kernel_input.rs
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#pragma version(1)
+#pragma rs java_package_name(foo)
+
+#include "shared.rsh"
+
+static bool failed = false;
+
+/*
+ * This checks that modifications to input arguments done by a kernel
+ * are never reflected back to the input Allocation. In order to do
+ * this, we create kernels that modify their input arguments (the
+ * clear_input_* kernels).
+ *
+ * When the kernels modify their input arguments, these modifications
+ * should not be visible in the underlying Allocation. The
+ * verify_input_* functions can be passed the same Allocation that was
+ * used as an in input to a clear_input_* kernel. The verify_input_*
+ * functions check their input against a global variable.
+ */
+
+// For clear_input_* kernels, we use a volatile qualified input argument
+// to try to inhibit any optimizations that would result in the write to
+// the input argument being optimized out by the compiler.
+
+#define COMMON_TEST_CODE(type)                           \
+  type initial_value_##type;                             \
+  type RS_KERNEL clear_input_##type(volatile type in) {  \
+    rsDebug(#type, in);                                  \
+    in -= in;                                            \
+    rsDebug(#type, in);                                  \
+    return in;                                           \
+  }
+
+#define SCALAR_TEST(type)                         \
+  COMMON_TEST_CODE(type)                          \
+  void verify_input_##type(rs_allocation alloc) { \
+    type elem = rsGetElementAt_##type(alloc, 0);  \
+    _RS_ASSERT(elem == initial_value_##type);     \
+  }
+
+#define VEC2_TEST(type)                             \
+  COMMON_TEST_CODE(type)                            \
+  void verify_input_##type(rs_allocation alloc) {   \
+    type elem = rsGetElementAt_##type(alloc, 0);    \
+    _RS_ASSERT(elem[0] == initial_value_##type[0]); \
+    _RS_ASSERT(elem[1] == initial_value_##type[1]); \
+  }
+
+#define VEC3_TEST(type)                             \
+  COMMON_TEST_CODE(type)                            \
+  void verify_input_##type(rs_allocation alloc) {   \
+    type elem = rsGetElementAt_##type(alloc, 0);    \
+    _RS_ASSERT(elem[0] == initial_value_##type[0]); \
+    _RS_ASSERT(elem[1] == initial_value_##type[1]); \
+    _RS_ASSERT(elem[2] == initial_value_##type[2]); \
+  }
+
+#define VEC4_TEST(type)                             \
+  COMMON_TEST_CODE(type)                            \
+  void verify_input_##type(rs_allocation alloc) {   \
+    type elem = rsGetElementAt_##type(alloc, 0);    \
+    _RS_ASSERT(elem[0] == initial_value_##type[0]); \
+    _RS_ASSERT(elem[1] == initial_value_##type[1]); \
+    _RS_ASSERT(elem[2] == initial_value_##type[2]); \
+    _RS_ASSERT(elem[3] == initial_value_##type[3]); \
+  }
+
+SCALAR_TEST(char)
+
+VEC2_TEST(char2)
+
+VEC3_TEST(char3)
+
+VEC4_TEST(char4)
+
+SCALAR_TEST(double)
+
+VEC2_TEST(double2)
+
+VEC3_TEST(double3)
+
+VEC4_TEST(double4)
+
+SCALAR_TEST(float)
+
+VEC2_TEST(float2)
+
+VEC3_TEST(float3)
+
+VEC4_TEST(float4)
+
+SCALAR_TEST(int)
+
+VEC2_TEST(int2)
+
+VEC3_TEST(int3)
+
+VEC4_TEST(int4)
+
+SCALAR_TEST(long)
+
+VEC2_TEST(long2)
+
+VEC3_TEST(long3)
+
+VEC4_TEST(long4)
+
+SCALAR_TEST(short)
+
+VEC2_TEST(short2)
+
+VEC3_TEST(short3)
+
+VEC4_TEST(short4)
+
+SCALAR_TEST(uchar)
+
+VEC2_TEST(uchar2)
+
+VEC3_TEST(uchar3)
+
+VEC4_TEST(uchar4)
+
+SCALAR_TEST(uint)
+
+VEC2_TEST(uint2)
+
+VEC3_TEST(uint3)
+
+VEC4_TEST(uint4)
+
+SCALAR_TEST(ulong)
+
+VEC2_TEST(ulong2)
+
+VEC3_TEST(ulong3)
+
+VEC4_TEST(ulong4)
+
+SCALAR_TEST(ushort)
+
+VEC2_TEST(ushort2)
+
+VEC3_TEST(ushort3)
+
+VEC4_TEST(ushort4)
+
+typedef struct small {
+  int x[1];
+} small;
+
+typedef struct big {
+  int x[100];
+} big;
+
+small initial_value_small;
+
+// See comment on volatile above.
+small RS_KERNEL clear_input_small(volatile small in) {
+  rsDebug("in.x", in.x[0]);
+  in.x[0] = 0;
+  rsDebug("in.x", in.x[0]);
+  return in;
+}
+
+void verify_input_small(rs_allocation alloc) {
+  const small *elem = (const small *) rsGetElementAt(alloc, 0);
+  _RS_ASSERT(elem->x[0] == initial_value_small.x[0]);
+}
+
+big initial_value_big;
+
+// See comment on volatile above.
+big RS_KERNEL clear_input_big(volatile big in) {
+  for (size_t i = 0; i < 100; ++i) {
+    rsDebug("in.x", in.x[i]);
+    in.x[i] = 0;
+    rsDebug("in.x", in.x[i]);
+  }
+  return in;
+}
+
+void verify_input_big(rs_allocation alloc) {
+  const big *elem = (const big *) rsGetElementAt(alloc, 0);
+  for (size_t i = 0; i < 100; ++i) {
+    _RS_ASSERT(elem->x[i] == initial_value_big.x[i]);
+  }
+}
+
+void checkError() {
+  if (failed) {
+    rsSendToClientBlocking(RS_MSG_TEST_FAILED);
+  } else {
+    rsSendToClientBlocking(RS_MSG_TEST_PASSED);
+  }
+}
diff --git a/tests/tests/rscpp/librscpptest/Android.mk b/tests/tests/rscpp/librscpptest/Android.mk
index 65a5e2a..df8ce29f 100644
--- a/tests/tests/rscpp/librscpptest/Android.mk
+++ b/tests/tests/rscpp/librscpptest/Android.mk
@@ -38,7 +38,8 @@
     clear_object.rs \
     foreach.rs \
     fe_all.rs \
-    noroot.rs
+    noroot.rs \
+    vector.rs
 
 LOCAL_C_INCLUDES := $(JNI_H_INCLUDE)
 LOCAL_C_INCLUDES += frameworks/rs/cpp
diff --git a/tests/tests/rscpp/librscpptest/rs_jni.cpp b/tests/tests/rscpp/librscpptest/rs_jni.cpp
index b362c99..4e60f4b 100644
--- a/tests/tests/rscpp/librscpptest/rs_jni.cpp
+++ b/tests/tests/rscpp/librscpptest/rs_jni.cpp
@@ -24,8 +24,7 @@
 #include <RenderScript.h>
 
 #define  LOG_TAG    "rscpptest"
-#define  LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
-#define  LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
+#define  LOGV(...)  __android_log_print(ANDROID_LOG_VERBOSE,LOG_TAG,__VA_ARGS__)
 
 using namespace android::RSC;
 
@@ -72,7 +71,7 @@
     for (int i = 0; i < 1000; i++) {
         sp<RS> rs = new RS();
         r &= rs->init(path);
-        LOGE("Native iteration %i, returned %i", i, (int)r);
+        LOGV("Native iteration %i, returned %i", i, (int)r);
     }
     env->ReleaseStringUTFChars(pathObj, path);
     return r;
diff --git a/tests/tests/rscpp/librscpptest/rs_jni_script.cpp b/tests/tests/rscpp/librscpptest/rs_jni_script.cpp
index fd31112..1888341 100644
--- a/tests/tests/rscpp/librscpptest/rs_jni_script.cpp
+++ b/tests/tests/rscpp/librscpptest/rs_jni_script.cpp
@@ -29,6 +29,7 @@
 
 #include <ScriptC_primitives.h>
 #include <ScriptC_instance.h>
+#include <ScriptC_vector.h>
 
 using namespace android::RSC;
 
@@ -134,3 +135,50 @@
     return passed;
 }
 
+// Define some reasonable types for use with the vector invoke testing.
+typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+
+#define TEST_VECTOR_INVOKE(L, U) \
+L temp_##L = 0; \
+vector->invoke_vector_test_##L(temp_##L); \
+U##2 temp_##L##2; \
+vector->invoke_vector_test_##L##2(temp_##L##2); \
+U##3 temp_##L##3; \
+vector->invoke_vector_test_##L##3(temp_##L##3); \
+U##4 temp_##L##4; \
+vector->invoke_vector_test_##L##4(temp_##L##4);
+
+
+/*
+ * Test that vector invoke C++ reflection is working/present.
+ */
+extern "C" JNIEXPORT jboolean JNICALL Java_android_cts_rscpp_RSScriptTest_testVector(JNIEnv * env,
+                                                                                     jclass obj,
+                                                                                     jstring pathObj)
+{
+    const char * path = env->GetStringUTFChars(pathObj, nullptr);
+    sp<RS> mRS = new RS();
+    mRS->init(path);
+    env->ReleaseStringUTFChars(pathObj, path);
+    MessageHandlerFunc_t mHandler = rsMsgHandler;
+    mRS->setMessageHandler(mHandler);
+
+    bool passed = true;
+    sp<ScriptC_vector> vector = new ScriptC_vector(mRS);
+
+    TEST_VECTOR_INVOKE(float, Float)
+    TEST_VECTOR_INVOKE(double, Double)
+    TEST_VECTOR_INVOKE(char, Byte)
+    TEST_VECTOR_INVOKE(uchar, UByte)
+    TEST_VECTOR_INVOKE(short, Short)
+    TEST_VECTOR_INVOKE(ushort, UShort)
+    TEST_VECTOR_INVOKE(int, Int)
+    TEST_VECTOR_INVOKE(uint, UInt)
+    TEST_VECTOR_INVOKE(long, Long)
+    TEST_VECTOR_INVOKE(ulong, ULong)
+
+    return passed;
+}
diff --git a/tests/tests/rscpp/librscpptest/vector.rs b/tests/tests/rscpp/librscpptest/vector.rs
new file mode 100644
index 0000000..cdea9b8
--- /dev/null
+++ b/tests/tests/rscpp/librscpptest/vector.rs
@@ -0,0 +1,19 @@
+#include "shared.rsh"
+
+#define MAKE_TEST(T) \
+void vector_test_##T(T t) {} \
+void vector_test_##T##2(T##2 t) {} \
+void vector_test_##T##3(T##3 t) {} \
+void vector_test_##T##4(T##4 t) {} \
+
+MAKE_TEST(float)
+MAKE_TEST(double)
+MAKE_TEST(char)
+MAKE_TEST(uchar)
+MAKE_TEST(short)
+MAKE_TEST(ushort)
+MAKE_TEST(int)
+MAKE_TEST(uint)
+MAKE_TEST(long)
+MAKE_TEST(ulong)
+
diff --git a/tests/tests/rscpp/src/android/cts/rscpp/RSResizeTest.java b/tests/tests/rscpp/src/android/cts/rscpp/RSResizeTest.java
index 51ae26e..6826b59 100644
--- a/tests/tests/rscpp/src/android/cts/rscpp/RSResizeTest.java
+++ b/tests/tests/rscpp/src/android/cts/rscpp/RSResizeTest.java
@@ -86,6 +86,7 @@
         } else {
             rsCppOutput.copyFromUnchecked(nativeFloatAlloc);
         }
+        mVerify.set_image_tolerance(0.04f); // Kept loose till a better test designed
         mVerify.invoke_verify(rsOutput, rsCppOutput, rsInput);
         checkForErrors();
     }
diff --git a/tests/tests/rscpp/src/android/cts/rscpp/RSScriptTest.java b/tests/tests/rscpp/src/android/cts/rscpp/RSScriptTest.java
index 72f4a17..fe45b33 100644
--- a/tests/tests/rscpp/src/android/cts/rscpp/RSScriptTest.java
+++ b/tests/tests/rscpp/src/android/cts/rscpp/RSScriptTest.java
@@ -36,4 +36,9 @@
     public void testRSScriptTestInstance() {
         assertTrue(testInstance(this.getContext().getCacheDir().toString()));
     }
+
+    native boolean testVector(String path);
+    public void testRSScriptTestVector() {
+        assertTrue(testVector(this.getContext().getCacheDir().toString()));
+    }
 }
diff --git a/tests/tests/rscpp/src/android/cts/rscpp/verify.rs b/tests/tests/rscpp/src/android/cts/rscpp/verify.rs
index 7fd44d3..700b9d5 100644
--- a/tests/tests/rscpp/src/android/cts/rscpp/verify.rs
+++ b/tests/tests/rscpp/src/android/cts/rscpp/verify.rs
@@ -24,10 +24,10 @@
 int gAllowedIntError = 0;
 static bool hadError = false;
 static int2 errorLoc = {0,0};
-
+float image_tolerance = 0.0001f;
 
 static bool compare_float(float f1, float f2) {
-    if (fabs(f1-f2) > 0.0001f) {
+    if (fabs(f1-f2) > image_tolerance) {
         hadError = true;
         return false;
     }
diff --git a/tests/tests/security/jni/android_security_cts_AudioPolicyBinderTest.cpp b/tests/tests/security/jni/android_security_cts_AudioPolicyBinderTest.cpp
index d9c7ce7..6807523 100644
--- a/tests/tests/security/jni/android_security_cts_AudioPolicyBinderTest.cpp
+++ b/tests/tests/security/jni/android_security_cts_AudioPolicyBinderTest.cpp
@@ -151,11 +151,12 @@
         return false;
     }
 
-    if (aps->isStreamActive((audio_stream_type_t)(AUDIO_STREAM_MIN -1), 0)) {
+    status_t status = aps->isStreamActive((audio_stream_type_t)(-1), 0);
+    if (status == NO_ERROR) {
         return false;
     }
-
-    if (aps->isStreamActive((audio_stream_type_t)AUDIO_STREAM_CNT, 0)) {
+    status = aps->isStreamActive((audio_stream_type_t)AUDIO_STREAM_CNT, 0);
+    if (status == NO_ERROR) {
         return false;
     }
     return true;
diff --git a/tests/tests/telecom/AndroidManifest.xml b/tests/tests/telecom/AndroidManifest.xml
index 6e9e675..b57e0b6 100644
--- a/tests/tests/telecom/AndroidManifest.xml
+++ b/tests/tests/telecom/AndroidManifest.xml
@@ -20,11 +20,19 @@
     <uses-permission android:name="android.permission.CALL_PHONE" />>
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.READ_PHONE_STATE" />
+    <uses-permission android:name="android.permission.REGISTER_CALL_PROVIDER" />
     <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
 
     <application>
         <uses-library android:name="android.test.runner" />
 
+        <service android:name="android.telecom.cts.CtsRemoteConnectionService"
+            android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" >
+            <intent-filter>
+                <action android:name="android.telecom.ConnectionService" />
+            </intent-filter>
+        </service>
+
         <service android:name="android.telecom.cts.CtsConnectionService"
             android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE" >
             <intent-filter>
diff --git a/tests/tests/telecom/src/android/telecom/cts/BaseRemoteTelecomTest.java b/tests/tests/telecom/src/android/telecom/cts/BaseRemoteTelecomTest.java
new file mode 100644
index 0000000..52c8317
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/BaseRemoteTelecomTest.java
@@ -0,0 +1,211 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.*;
+
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
+import android.content.ComponentName;
+import android.telecom.Connection;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConference;
+import android.telecom.RemoteConnection;
+import android.text.TextUtils;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Base class for Telecom CTS tests that require a {@link CtsConnectionService} and
+ * {@link CtsRemoteConnectionService} to verify Telecom functionality. This class
+ * extends from the {@link BaseTelecomTestWithMockServices} and should be extended
+ * for all RemoteConnection/RemoteConferencTest.
+ */
+public class BaseRemoteTelecomTest extends BaseTelecomTestWithMockServices {
+
+    public static final PhoneAccountHandle TEST_REMOTE_PHONE_ACCOUNT_HANDLE =
+            new PhoneAccountHandle(new ComponentName(PACKAGE, REMOTE_COMPONENT), REMOTE_ACCOUNT_ID);
+    public static final String TEST_REMOTE_PHONE_ACCOUNT_ADDRESS = "tel:666-TEST";
+
+    MockConnectionService remoteConnectionService = null;
+
+    @Override
+    protected void tearDown() throws Exception {
+        tearDownConnectionServices(TEST_PHONE_ACCOUNT_HANDLE, TEST_REMOTE_PHONE_ACCOUNT_HANDLE);
+        super.tearDown();
+    }
+
+    protected void setupConnectionServices(MockConnectionService connectionService,
+            MockConnectionService remoteConnectionService, int flags)
+            throws Exception {
+        // Setup the primary connection service first
+        setupConnectionService(connectionService, flags);
+
+        if (remoteConnectionService != null) {
+            this.remoteConnectionService = remoteConnectionService;
+        } else {
+            // Generate a vanilla mock connection service, if not provided.
+            this.remoteConnectionService = new MockConnectionService();
+        }
+        CtsRemoteConnectionService.setUp(TEST_REMOTE_PHONE_ACCOUNT_HANDLE,
+                this.remoteConnectionService);
+
+        if ((flags & FLAG_REGISTER) != 0) {
+            // This needs SIM subscription, so register via adb commands to get system permission.
+            TestUtils.registerSimPhoneAccount(getInstrumentation(),
+                    TEST_REMOTE_PHONE_ACCOUNT_HANDLE,
+                    REMOTE_ACCOUNT_LABEL,
+                    TEST_REMOTE_PHONE_ACCOUNT_ADDRESS);
+        }
+        if ((flags & FLAG_ENABLE) != 0) {
+            TestUtils.enablePhoneAccount(getInstrumentation(), TEST_REMOTE_PHONE_ACCOUNT_HANDLE);
+        }
+    }
+
+    protected void tearDownConnectionServices(PhoneAccountHandle accountHandle,
+            PhoneAccountHandle remoteAccountHandle) throws Exception {
+        // Teardown the primary connection service first
+        tearDownConnectionService(accountHandle);
+
+        mTelecomManager.unregisterPhoneAccount(remoteAccountHandle);
+        CtsRemoteConnectionService.tearDown();
+        this.remoteConnectionService = null;
+    }
+
+    MockConnection verifyConnectionForOutgoingCallOnRemoteCS() {
+        // Assuming only 1 connection present
+        return verifyConnectionForOutgoingCallOnRemoteCS(0);
+    }
+
+    MockConnection verifyConnectionForOutgoingCallOnRemoteCS(int connectionIndex) {
+        try {
+            if (!remoteConnectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                    TimeUnit.MILLISECONDS)) {
+                fail("No outgoing call connection requested by Telecom");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+
+        assertThat("Telecom should create outgoing connection for remote outgoing call",
+                remoteConnectionService.outgoingConnections.size(), not(equalTo(0)));
+        assertEquals("Telecom should not create incoming connections for remote outgoing calls",
+                0, remoteConnectionService.incomingConnections.size());
+        MockConnection connection = remoteConnectionService.outgoingConnections.get(connectionIndex);
+        return connection;
+    }
+
+    MockConnection verifyConnectionForIncomingCallOnRemoteCS() {
+        // Assuming only 1 connection present
+        return verifyConnectionForIncomingCallOnRemoteCS(0);
+    }
+
+    MockConnection verifyConnectionForIncomingCallOnRemoteCS(int connectionIndex) {
+        try {
+            if (!remoteConnectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                    TimeUnit.MILLISECONDS)) {
+                fail("No outgoing call connection requested by Telecom");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+
+        assertThat("Telecom should create incoming connections for remote incoming calls",
+                remoteConnectionService.incomingConnections.size(), not(equalTo(0)));
+        assertEquals("Telecom should not create outgoing connections for remote incoming calls",
+                0, remoteConnectionService.outgoingConnections.size());
+        MockConnection connection = remoteConnectionService.incomingConnections.get(connectionIndex);
+        setAndVerifyConnectionForIncomingCall(connection);
+        return connection;
+    }
+
+    void setAndVerifyConferenceablesForOutgoingConnectionOnRemoteCS(int connectionIndex) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+        /**
+         * Set the conferenceable connections on the given connection and it's remote connection
+         * counterpart.
+         */
+        // Make all other outgoing connections as conferenceable with this remote connection.
+        MockConnection connection = remoteConnectionService.outgoingConnections.get(connectionIndex);
+        List<Connection> confConnections =
+                new ArrayList<>(remoteConnectionService.outgoingConnections.size());
+        for (Connection c : remoteConnectionService.outgoingConnections) {
+            if (c != connection) {
+                confConnections.add(c);
+            }
+        }
+        connection.setConferenceableConnections(confConnections);
+        assertEquals(connection.getConferenceables(), confConnections);
+    }
+
+    MockConference verifyConferenceForOutgoingCallOnRemoteCS() {
+        try {
+            if (!remoteConnectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                    TimeUnit.MILLISECONDS)) {
+                fail("No outgoing conference requested by Telecom");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+        // Return the newly created conference object to the caller
+        MockConference conference = remoteConnectionService.conferences.get(0);
+        setAndVerifyConferenceForOutgoingCall(conference);
+        return conference;
+    }
+
+    void assertRemoteConnectionState(final RemoteConnection connection, final int state) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return state;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return connection.getState();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Remote Connection should be in state " + state
+        );
+    }
+
+    void assertRemoteConferenceState(final RemoteConference conference, final int state) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return state;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return conference.getState();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Remote Conference should be in state " + state
+        );
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/BaseTelecomTestWithMockServices.java b/tests/tests/telecom/src/android/telecom/cts/BaseTelecomTestWithMockServices.java
index c862cc3..31ca09b 100644
--- a/tests/tests/telecom/src/android/telecom/cts/BaseTelecomTestWithMockServices.java
+++ b/tests/tests/telecom/src/android/telecom/cts/BaseTelecomTestWithMockServices.java
@@ -18,14 +18,20 @@
 
 import static android.telecom.cts.TestUtils.*;
 
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.junit.Assert.assertThat;
+
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Color;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.SystemClock;
 import android.telecom.Call;
 import android.telecom.CallAudioState;
+import android.telecom.Conference;
 import android.telecom.Connection;
 import android.telecom.InCallService;
 import android.telecom.PhoneAccount;
@@ -37,6 +43,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -52,24 +60,33 @@
             new PhoneAccountHandle(new ComponentName(PACKAGE, COMPONENT), ACCOUNT_ID);
 
     public static final PhoneAccount TEST_PHONE_ACCOUNT = PhoneAccount.builder(
-            TEST_PHONE_ACCOUNT_HANDLE, LABEL)
+            TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
             .setAddress(Uri.parse("tel:555-TEST"))
             .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
             .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER |
-                    PhoneAccount.CAPABILITY_VIDEO_CALLING)
+                    PhoneAccount.CAPABILITY_VIDEO_CALLING |
+                    PhoneAccount.CAPABILITY_CONNECTION_MANAGER)
             .setHighlightColor(Color.RED)
-            .setShortDescription(LABEL)
+            .setShortDescription(ACCOUNT_LABEL)
             .addSupportedUriScheme(PhoneAccount.SCHEME_TEL)
             .addSupportedUriScheme(PhoneAccount.SCHEME_VOICEMAIL)
             .build();
 
-    private static int sCounter = 0;
+    private static int sCounter = 9999;
 
     Context mContext;
     TelecomManager mTelecomManager;
+
+    InvokeCounter mOnBringToForegroundCounter;
+    InvokeCounter mOnCallAudioStateChangedCounter;
+    InvokeCounter mOnPostDialWaitCounter;
+    InvokeCounter mOnCannedTextResponsesLoadedCounter;
+
     InCallServiceCallbacks mInCallCallbacks;
     String mPreviousDefaultDialer = null;
-    MockConnectionService connectionService = new MockConnectionService();
+    MockConnectionService connectionService = null;
+
+    boolean mShouldTestTelecom = true;
 
     @Override
     protected void setUp() throws Exception {
@@ -77,7 +94,8 @@
         mContext = getInstrumentation().getContext();
         mTelecomManager = (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
 
-        if (shouldTestTelecom(mContext)) {
+        mShouldTestTelecom = shouldTestTelecom(mContext);
+        if (mShouldTestTelecom) {
             mPreviousDefaultDialer = TestUtils.getDefaultDialer(getInstrumentation());
             TestUtils.setDefaultDialer(getInstrumentation(), PACKAGE);
             setupCallbacks();
@@ -86,37 +104,39 @@
 
     @Override
     protected void tearDown() throws Exception {
-        if (shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             cleanupCalls();
             if (!TextUtils.isEmpty(mPreviousDefaultDialer)) {
                 TestUtils.setDefaultDialer(getInstrumentation(), mPreviousDefaultDialer);
             }
-            tearDownConnectionService(TEST_PHONE_ACCOUNT);
+            tearDownConnectionService(TEST_PHONE_ACCOUNT_HANDLE);
         }
         super.tearDown();
     }
 
-    protected PhoneAccount setupConnectionService(CtsConnectionService connectionService,
+    protected PhoneAccount setupConnectionService(MockConnectionService connectionService,
             int flags)
             throws Exception {
-        if (connectionService == null) {
-            connectionService = this.connectionService;
+        if (connectionService != null) {
+            this.connectionService = connectionService;
+        } else {
+            // Generate a vanilla mock connection service, if not provided.
+            this.connectionService = new MockConnectionService();
         }
-        CtsConnectionService.setUp(TEST_PHONE_ACCOUNT, connectionService);
+        CtsConnectionService.setUp(TEST_PHONE_ACCOUNT_HANDLE, this.connectionService);
 
         if ((flags & FLAG_REGISTER) != 0) {
             mTelecomManager.registerPhoneAccount(TEST_PHONE_ACCOUNT);
         }
         if ((flags & FLAG_ENABLE) != 0) {
-            TestUtils.enablePhoneAccount(getInstrumentation(),
-                    TEST_PHONE_ACCOUNT_HANDLE);
+            TestUtils.enablePhoneAccount(getInstrumentation(), TEST_PHONE_ACCOUNT_HANDLE);
         }
 
         return TEST_PHONE_ACCOUNT;
     }
 
-    protected void tearDownConnectionService(PhoneAccount account) throws Exception {
-        mTelecomManager.unregisterPhoneAccount(account.getAccountHandle());
+    protected void tearDownConnectionService(PhoneAccountHandle accountHandle) throws Exception {
+        mTelecomManager.unregisterPhoneAccount(accountHandle);
         CtsConnectionService.tearDown();
         this.connectionService = null;
     }
@@ -141,11 +161,67 @@
         mInCallCallbacks = new InCallServiceCallbacks() {
             @Override
             public void onCallAdded(Call call, int numCalls) {
+                Log.i(TAG, "onCallAdded, Call: " + call + ", Num Calls: " + numCalls);
                 this.lock.release();
             }
+            @Override
+            public void onCallRemoved(Call call, int numCalls) {
+                Log.i(TAG, "onCallRemoved, Call: " + call + ", Num Calls: " + numCalls);
+            }
+            @Override
+            public void onParentChanged(Call call, Call parent) {
+                Log.i(TAG, "onParentChanged, Call: " + call + ", Parent: " + parent);
+                this.lock.release();
+            }
+            @Override
+            public void onChildrenChanged(Call call, List<Call> children) {
+                Log.i(TAG, "onChildrenChanged, Call: " + call + "Children: " + children);
+                this.lock.release();
+            }
+            @Override
+            public void onConferenceableCallsChanged(Call call, List<Call> conferenceableCalls) {
+                Log.i(TAG, "onConferenceableCallsChanged, Call: " + call + ", Conferenceables: " +
+                        conferenceableCalls);
+            }
+            @Override
+            public void onDetailsChanged(Call call, Call.Details details) {
+                Log.i(TAG, "onDetailsChanged, Call: " + call + ", Details: " + details);
+            }
+            @Override
+            public void onCallDestroyed(Call call) {
+                Log.i(TAG, "onCallDestroyed, Call: " + call);
+            }
+            @Override
+            public void onCallStateChanged(Call call, int newState) {
+                Log.i(TAG, "onCallStateChanged, Call: " + call + ", New State: " + newState);
+            }
+            @Override
+            public void onBringToForeground(boolean showDialpad) {
+                mOnBringToForegroundCounter.invoke(showDialpad);
+            }
+            @Override
+            public void onCallAudioStateChanged(CallAudioState audioState) {
+                Log.i(TAG, "onCallAudioStateChanged, audioState: " + audioState);
+                mOnCallAudioStateChangedCounter.invoke(audioState);
+            }
+            @Override
+            public void onPostDialWait(Call call, String remainingPostDialSequence) {
+                mOnPostDialWaitCounter.invoke(call, remainingPostDialSequence);
+            }
+            @Override
+            public void onCannedTextResponsesLoaded(Call call, List<String> cannedTextResponses) {
+                mOnCannedTextResponsesLoadedCounter.invoke(call, cannedTextResponses);
+            }
         };
 
         MockInCallService.setCallbacks(mInCallCallbacks);
+
+        // TODO: If more InvokeCounters are added in the future, consider consolidating them into a
+        // single Collection.
+        mOnBringToForegroundCounter = new InvokeCounter("OnBringToForeground");
+        mOnCallAudioStateChangedCounter = new InvokeCounter("OnCallAudioStateChanged");
+        mOnPostDialWaitCounter = new InvokeCounter("OnPostDialWait");
+        mOnCannedTextResponsesLoadedCounter = new InvokeCounter("OnCannedTextResponsesLoaded");
     }
 
     /**
@@ -153,6 +229,12 @@
      * {@link CtsConnectionService} which can be tested.
      */
     void addAndVerifyNewIncomingCall(Uri incomingHandle, Bundle extras) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+        int currentCallCount = 0;
+        if (mInCallCallbacks.getService() != null) {
+            currentCallCount = mInCallCallbacks.getService().getCallCount();
+        }
+
         if (extras == null) {
             extras = new Bundle();
         }
@@ -167,7 +249,8 @@
             Log.i(TAG, "Test interrupted!");
         }
 
-        assertEquals("InCallService should contain 1 call after adding a call.", 1,
+        assertEquals("InCallService should contain 1 more call after adding a call.",
+                currentCallCount + 1,
                 mInCallCallbacks.getService().getCallCount());
     }
 
@@ -202,6 +285,11 @@
      *  {@link CtsConnectionService} which can be tested.
      */
     void placeAndVerifyCall(Bundle extras, int videoState) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+        int currentCallCount = 0;
+        if (mInCallCallbacks.getService() != null) {
+            currentCallCount = mInCallCallbacks.getService().getCallCount();
+        }
         placeNewCallWithPhoneAccount(extras, videoState);
 
         try {
@@ -212,11 +300,17 @@
             Log.i(TAG, "Test interrupted!");
         }
 
-        assertEquals("InCallService should contain 1 call after adding a call.", 1,
+        assertEquals("InCallService should contain 1 more call after adding a call.",
+                currentCallCount + 1,
                 mInCallCallbacks.getService().getCallCount());
     }
 
     MockConnection verifyConnectionForOutgoingCall() {
+        // Assuming only 1 connection present
+        return verifyConnectionForOutgoingCall(0);
+    }
+
+    MockConnection verifyConnectionForOutgoingCall(int connectionIndex) {
         try {
             if (!connectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
                     TimeUnit.MILLISECONDS)) {
@@ -226,19 +320,18 @@
             Log.i(TAG, "Test interrupted!");
         }
 
-        assertNotNull("Telecom should create outgoing connection for outgoing call",
-                connectionService.outgoingConnection);
-        assertNull("Telecom should not create incoming connection for outgoing call",
-                connectionService.incomingConnection);
-
-        connectionService.outgoingConnection.setDialing();
-        connectionService.outgoingConnection.setActive();
-        assertEquals(Connection.STATE_ACTIVE,
-                connectionService.outgoingConnection.getState());
-        return connectionService.outgoingConnection;
+        assertThat("Telecom should create outgoing connection for outgoing call",
+                connectionService.outgoingConnections.size(), not(equalTo(0)));
+        MockConnection connection = connectionService.outgoingConnections.get(connectionIndex);
+        return connection;
     }
 
     MockConnection verifyConnectionForIncomingCall() {
+        // Assuming only 1 connection present
+        return verifyConnectionForIncomingCall(0);
+    }
+
+    MockConnection verifyConnectionForIncomingCall(int connectionIndex) {
         try {
             if (!connectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
                     TimeUnit.MILLISECONDS)) {
@@ -248,15 +341,102 @@
             Log.i(TAG, "Test interrupted!");
         }
 
-        assertNull("Telecom should not create outgoing connection for outgoing call",
-                connectionService.outgoingConnection);
-        assertNotNull("Telecom should create incoming connection for outgoing call",
-                connectionService.incomingConnection);
+        assertThat("Telecom should create incoming connections for incoming calls",
+                connectionService.incomingConnections.size(), not(equalTo(0)));
+        MockConnection connection = connectionService.incomingConnections.get(connectionIndex);
+        setAndVerifyConnectionForIncomingCall(connection);
+        return connection;
+    }
 
-        connectionService.incomingConnection.setRinging();
-        assertEquals(Connection.STATE_RINGING,
-                connectionService.incomingConnection.getState());
-        return connectionService.incomingConnection;
+    void setAndVerifyConnectionForIncomingCall(MockConnection connection) {
+        connection.setRinging();
+        assertConnectionState(connection, Connection.STATE_RINGING);
+    }
+
+    void setAndVerifyConferenceablesForOutgoingConnection(int connectionIndex) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+        // Make all other outgoing connections as conferenceable with this connection.
+        MockConnection connection = connectionService.outgoingConnections.get(connectionIndex);
+        List<Connection> confConnections =
+                new ArrayList<>(connectionService.outgoingConnections.size());
+        for (Connection c : connectionService.outgoingConnections) {
+            if (c != connection) {
+                confConnections.add(c);
+            }
+        }
+        connection.setConferenceableConnections(confConnections);
+        assertEquals(connection.getConferenceables(), confConnections);
+    }
+
+    void addConferenceCall(Call call1, Call call2) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+        int currentConfCallCount = 0;
+        if (mInCallCallbacks.getService() != null) {
+            currentConfCallCount = mInCallCallbacks.getService().getConferenceCallCount();
+        }
+        // Verify that the calls have each other on their conferenceable list before proceeding
+        List<Call> callConfList = new ArrayList<>();
+        callConfList.add(call2);
+        assertCallConferenceableList(call1, callConfList);
+
+        callConfList.clear();
+        callConfList.add(call1);
+        assertCallConferenceableList(call2, callConfList);
+
+        call1.conference(call2);
+
+        /**
+         * We should have 1 onCallAdded, 2 onChildrenChanged and 2 onParentChanged invoked, so
+         * we should have 5 available permits on the incallService lock.
+         */
+        try {
+            if (!mInCallCallbacks.lock.tryAcquire(5, 3, TimeUnit.SECONDS)) {
+                fail("Conference addition failed.");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+
+        assertEquals("InCallService should contain 1 more call after adding a conf call.",
+                currentConfCallCount + 1,
+                mInCallCallbacks.getService().getConferenceCallCount());
+    }
+
+    void splitFromConferenceCall(Call call1) {
+        assertEquals("Lock should have no permits!", 0, mInCallCallbacks.lock.availablePermits());
+
+        call1.splitFromConference();
+        /**
+         * We should have 1 onChildrenChanged and 1 onParentChanged invoked, so
+         * we should have 2 available permits on the incallService lock.
+         */
+        try {
+            if (!mInCallCallbacks.lock.tryAcquire(2, 3, TimeUnit.SECONDS)) {
+                fail("Conference split failed");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+    }
+
+    MockConference verifyConferenceForOutgoingCall() {
+        try {
+            if (!connectionService.lock.tryAcquire(TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                    TimeUnit.MILLISECONDS)) {
+                fail("No outgoing conference requested by Telecom");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+        // Return the newly created conference object to the caller
+        MockConference conference = connectionService.conferences.get(0);
+        setAndVerifyConferenceForOutgoingCall(conference);
+        return conference;
+    }
+
+    void setAndVerifyConferenceForOutgoingCall(MockConference conference) {
+        conference.setActive();
+        assertConferenceState(conference, Connection.STATE_ACTIVE);
     }
 
     /**
@@ -264,7 +444,9 @@
      */
     void cleanupCalls() {
         if (mInCallCallbacks != null && mInCallCallbacks.getService() != null) {
-            mInCallCallbacks.getService().disconnectLastCall();
+            mInCallCallbacks.getService().disconnectAllConferenceCalls();
+            mInCallCallbacks.getService().disconnectAllCalls();
+            assertNumConferenceCalls(mInCallCallbacks.getService(), 0);
             assertNumCalls(mInCallCallbacks.getService(), 0);
         }
     }
@@ -314,6 +496,23 @@
     );
     }
 
+    void assertNumConferenceCalls(final MockInCallService inCallService, final int numCalls) {
+        waitUntilConditionIsTrueOrTimeout(new Condition() {
+            @Override
+            public Object expected() {
+                return numCalls;
+            }
+            @Override
+            public Object actual() {
+                return inCallService.getConferenceCallCount();
+            }
+        },
+        WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+        "InCallService should contain " + numCalls + " conference calls."
+    );
+    }
+
+
     void assertMuteState(final InCallService incallService, final boolean isMuted) {
         waitUntilConditionIsTrueOrTimeout(
                 new Condition() {
@@ -381,7 +580,7 @@
 
                     @Override
                     public Object actual() {
-                        final CallAudioState state = connection.getCallAudioState();
+                        final CallAudioState state = ((Connection) connection).getCallAudioState();
                         return state == null ? null : state.getRoute();
                     }
                 },
@@ -426,6 +625,24 @@
         );
     }
 
+    void assertCallConferenceableList(final Call call, final List<Call> conferenceableList) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return conferenceableList;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getConferenceableCalls();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call: " + call + " does not have the correct conferenceable call list."
+        );
+    }
+
     void assertDtmfString(final MockConnection connection, final String dtmfString) {
         waitUntilConditionIsTrueOrTimeout(new Condition() {
                 @Override
@@ -443,6 +660,77 @@
         );
     }
 
+    void assertDtmfString(final MockConference conference, final String dtmfString) {
+        waitUntilConditionIsTrueOrTimeout(new Condition() {
+                @Override
+                public Object expected() {
+                    return dtmfString;
+                }
+
+                @Override
+                public Object actual() {
+                    return conference.getDtmfString();
+                }
+            },
+            WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+            "DTMF string should be equivalent to entered DTMF characters: " + dtmfString
+        );
+    }
+
+    void assertCallDisplayName(final Call call, final String name) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return name;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().getCallerDisplayName();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should have display name: " + name
+        );
+    }
+
+    void assertConnectionCallDisplayName(final Connection connection, final String name) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return name;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return connection.getCallerDisplayName();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Connection should have display name: " + name
+        );
+    }
+
+    void assertConferenceState(final Conference conference, final int state) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return state;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return conference.getState();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Conference should be in state " + state
+        );
+    }
+
     void waitUntilConditionIsTrueOrTimeout(Condition condition, long timeout,
             String description) {
         final long start = System.currentTimeMillis();
@@ -482,4 +770,72 @@
     protected interface Work {
         void doWork();
     }
+
+    /**
+     * Utility class used to track the number of times a callback was invoked, and the arguments it
+     * was invoked with. This class is prefixed Invoke rather than the more typical Call for
+     * disambiguation purposes.
+     */
+    protected static final class InvokeCounter {
+        private final String mName;
+        private final Object mLock = new Object();
+        private final ArrayList<Object[]> mInvokeArgs = new ArrayList<>();
+
+        private int mInvokeCount;
+
+        public InvokeCounter(String callbackName) {
+            mName = callbackName;
+        }
+
+        public void invoke(Object... args) {
+            synchronized (mLock) {
+                mInvokeCount++;
+                mInvokeArgs.add(args);
+                mLock.notifyAll();
+            }
+        }
+
+        public Object[] getArgs(int index) {
+            synchronized (mLock) {
+                return mInvokeArgs.get(index);
+            }
+        }
+
+        public int getInvokeCount() {
+            synchronized (mLock) {
+                return mInvokeCount;
+            }
+        }
+
+        public void waitForCount(int count) {
+            waitForCount(count, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        }
+
+        public void waitForCount(int count, long timeoutMillis) {
+            waitForCount(count, timeoutMillis, null);
+        }
+
+        public void waitForCount(int count, long timeoutMillis, String message) {
+            synchronized (mLock) {
+                final long startTimeMillis = SystemClock.uptimeMillis();
+                while (mInvokeCount < count) {
+                    try {
+                        final long elapsedTimeMillis = SystemClock.uptimeMillis() - startTimeMillis;
+                        final long remainingTimeMillis = timeoutMillis - elapsedTimeMillis;
+                        if (remainingTimeMillis <= 0) {
+                            if (message != null) {
+                                fail(message);
+                            } else {
+                                fail(String.format("Expected %s to be called %d times.", mName,
+                                        count));
+                            }
+                        }
+                        mLock.wait(timeoutMillis);
+                    } catch (InterruptedException ie) {
+                        /* ignore */
+                    }
+                }
+            }
+        }
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/CallDetailsTest.java b/tests/tests/telecom/src/android/telecom/cts/CallDetailsTest.java
index 0625d78..879c995 100644
--- a/tests/tests/telecom/src/android/telecom/cts/CallDetailsTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/CallDetailsTest.java
@@ -65,7 +65,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        if (TestUtils.shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             PhoneAccount account = setupConnectionService(
                     new MockConnectionService() {
                         @Override
@@ -93,20 +93,27 @@
                         }
                     }, FLAG_REGISTER | FLAG_ENABLE);
 
-        }
-        /** Place a call as a part of the setup before we test the various
-         *  Call details.
-         */
-        placeAndVerifyCall();
+            /** Place a call as a part of the setup before we test the various
+             *  Call details.
+             */
+            placeAndVerifyCall();
+            verifyConnectionForOutgoingCall();
 
-        mInCallService = mInCallCallbacks.getService();
-        mCall = mInCallService.getLastCall();
+            mInCallService = mInCallCallbacks.getService();
+            mCall = mInCallService.getLastCall();
+
+            assertCallState(mCall, Call.STATE_DIALING);
+        }
     }
 
     /**
      * Tests whether the getAccountHandle() getter returns the correct object.
      */
     public void testAccountHandle() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getAccountHandle(), is(PhoneAccountHandle.class));
         assertEquals(TEST_PHONE_ACCOUNT_HANDLE, mCall.getDetails().getAccountHandle());
     }
@@ -115,14 +122,26 @@
      * Tests whether the getCallCapabilities() getter returns the correct object.
      */
     public void testCallCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getCallCapabilities(), is(Integer.class));
         assertEquals(CALL_CAPABILITIES, mCall.getDetails().getCallCapabilities());
+        assertTrue(mCall.getDetails().can(Call.Details.CAPABILITY_HOLD));
+        assertTrue(mCall.getDetails().can(Call.Details.CAPABILITY_MUTE));
+        assertFalse(mCall.getDetails().can(Call.Details.CAPABILITY_MANAGE_CONFERENCE));
+        assertFalse(mCall.getDetails().can(Call.Details.CAPABILITY_RESPOND_VIA_TEXT));
     }
 
     /**
      * Tests whether the getCallerDisplayName() getter returns the correct object.
      */
     public void testCallerDisplayName() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getCallerDisplayName(), is(String.class));
         assertEquals(CALLER_DISPLAY_NAME, mCall.getDetails().getCallerDisplayName());
     }
@@ -131,6 +150,10 @@
      * Tests whether the getCallerDisplayNamePresentation() getter returns the correct object.
      */
     public void testCallerDisplayNamePresentation() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getCallerDisplayNamePresentation(), is(Integer.class));
         assertEquals(CALLER_DISPLAY_NAME_PRESENTATION, mCall.getDetails().getCallerDisplayNamePresentation());
     }
@@ -139,6 +162,10 @@
      * Tests whether the getCallProperties() getter returns the correct object.
      */
     public void testCallProperties() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getCallProperties(), is(Integer.class));
         assertEquals(CALL_PROPERTIES, mCall.getDetails().getCallProperties());
     }
@@ -147,6 +174,10 @@
      * Tests whether the getConnectTimeMillis() getter returns the correct object.
      */
     public void testConnectTimeMillis() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getConnectTimeMillis(), is(Long.class));
     }
 
@@ -154,6 +185,10 @@
      * Tests whether the getDisconnectCause() getter returns the correct object.
      */
     public void testDisconnectCause() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getDisconnectCause(), is(DisconnectCause.class));
     }
 
@@ -161,13 +196,23 @@
      * Tests whether the getExtras() getter returns the correct object.
      */
     public void testExtras() {
-        assertThat(mCall.getDetails().getExtras(), is(Bundle.class));
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        if (mCall.getDetails().getExtras() != null) {
+            assertThat(mCall.getDetails().getExtras(), is(Bundle.class));
+        }
     }
 
     /**
      * Tests whether the getIntentExtras() getter returns the correct object.
      */
     public void testIntentExtras() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getIntentExtras(), is(Bundle.class));
     }
 
@@ -175,13 +220,23 @@
      * Tests whether the getGatewayInfo() getter returns the correct object.
      */
     public void testGatewayInfo() {
-        assertThat(mCall.getDetails().getGatewayInfo(), is(GatewayInfo.class));
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        if (mCall.getDetails().getGatewayInfo() != null) {
+            assertThat(mCall.getDetails().getGatewayInfo(), is(GatewayInfo.class));
+        }
     }
 
     /**
      * Tests whether the getHandle() getter returns the correct object.
      */
     public void testHandle() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getHandle(), is(Uri.class));
         assertEquals(getTestNumber(), mCall.getDetails().getHandle());
     }
@@ -190,6 +245,10 @@
      * Tests whether the getHandlePresentation() getter returns the correct object.
      */
     public void testHandlePresentation() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getHandlePresentation(), is(Integer.class));
         assertEquals(MockConnectionService.CONNECTION_PRESENTATION, mCall.getDetails().getHandlePresentation());
     }
@@ -198,6 +257,10 @@
      * Tests whether the getStatusHints() getter returns the correct object.
      */
     public void testStatusHints() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getStatusHints(), is(StatusHints.class));
         assertEquals(mStatusHints.getLabel(), mCall.getDetails().getStatusHints().getLabel());
         assertEquals(
@@ -210,6 +273,10 @@
      * Tests whether the getVideoState() getter returns the correct object.
      */
     public void testVideoState() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         assertThat(mCall.getDetails().getVideoState(), is(Integer.class));
     }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/ConferenceTest.java b/tests/tests/telecom/src/android/telecom/cts/ConferenceTest.java
new file mode 100644
index 0000000..121d559
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/ConferenceTest.java
@@ -0,0 +1,428 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.*;
+
+import android.os.Bundle;
+import android.telecom.Call;
+import android.telecom.Conference;
+import android.telecom.Connection;
+import android.telecom.ConnectionRequest;
+import android.telecom.DisconnectCause;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.StatusHints;
+import android.telecom.TelecomManager;
+import android.telecom.VideoProfile;
+
+import java.util.ArrayList;
+
+/**
+ * Extended suite of tests that use {@link CtsConnectionService} and {@link MockInCallService} to
+ * verify the functionality of Call Conferencing.
+ */
+public class ConferenceTest extends BaseTelecomTestWithMockServices {
+
+    public static final int CONF_CAPABILITIES = Connection.CAPABILITY_SEPARATE_FROM_CONFERENCE |
+            Connection.CAPABILITY_DISCONNECT_FROM_CONFERENCE | Connection.CAPABILITY_HOLD |
+            Connection.CAPABILITY_MERGE_CONFERENCE | Connection.CAPABILITY_SWAP_CONFERENCE;
+
+    private Call mCall1, mCall2;
+    private MockConnection mConnection1, mConnection2;
+    MockInCallService mInCallService;
+    Conference mConferenceObject;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getContext();
+        if (mShouldTestTelecom) {
+            addOutgoingCalls();
+            addConferenceCall(mCall1, mCall2);
+            // Use vanilla conference object so that the CTS coverage tool detects the useage.
+            mConferenceObject = verifyConferenceForOutgoingCall();
+            verifyConferenceObject(mConferenceObject, mConnection1, mConnection2);
+        }
+    }
+
+    public void testConferenceCreate() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        if (mCall1.getParent() != conf || mCall2.getParent() != conf) {
+            fail("The 2 participating calls should contain the conference call as its parent");
+        }
+        if (!(conf.getChildren().contains(mCall1) && conf.getChildren().contains(mCall2))) {
+            fail("The conference call should contain the 2 participating calls as its children");
+        }
+        assertTrue(mConferenceObject.getConnections().contains(mConnection1));
+
+        assertConnectionState(mConferenceObject.getConnections().get(0), Connection.STATE_ACTIVE);
+        assertConnectionState(mConferenceObject.getConnections().get(1), Connection.STATE_ACTIVE);
+        assertConferenceState(mConferenceObject, Connection.STATE_ACTIVE);
+    }
+
+    public void testConferenceSplit() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        if (!(mCall1.getParent() == conf) && (conf.getChildren().contains(mCall1))) {
+            fail("Call 1 not conferenced");
+        }
+        assertTrue(mConferenceObject.getConnections().contains(mConnection1));
+
+        splitFromConferenceCall(mCall1);
+
+        if ((mCall1.getParent() == conf) || (conf.getChildren().contains(mCall1))) {
+            fail("Call 1 should not be still conferenced");
+        }
+        assertFalse(mConferenceObject.getConnections().contains(mConnection1));
+    }
+
+    public void testConferenceHoldAndUnhold() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        conf.hold();
+        assertCallState(conf, Call.STATE_HOLDING);
+        assertCallState(mCall1, Call.STATE_HOLDING);
+        assertCallState(mCall2, Call.STATE_HOLDING);
+
+        conf.unhold();
+        assertCallState(conf, Call.STATE_ACTIVE);
+        assertCallState(mCall1, Call.STATE_ACTIVE);
+        assertCallState(mCall2, Call.STATE_ACTIVE);
+    }
+
+    public void testConferenceMergeAndSwap() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        conf.mergeConference();
+        assertCallDisplayName(mCall1, TestUtils.MERGE_CALLER_NAME);
+        assertCallDisplayName(mCall2, TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mConferenceObject.getConnections().get(0),
+                TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mConferenceObject.getConnections().get(1),
+                TestUtils.MERGE_CALLER_NAME);
+
+        conf.swapConference();
+        assertCallDisplayName(mCall1, TestUtils.SWAP_CALLER_NAME);
+        assertCallDisplayName(mCall2, TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mConferenceObject.getConnections().get(0),
+                TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mConferenceObject.getConnections().get(1),
+                TestUtils.SWAP_CALLER_NAME);
+
+    }
+
+    public void testConferenceSetters() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        placeAndVerifyCall();
+        MockConnection newConnection = verifyConnectionForOutgoingCall(2);
+        final Call newCall = mInCallService.getLastCall();
+
+        ArrayList<Connection> connectionList = new ArrayList<>();
+        connectionList.add(newConnection);
+        ArrayList<Call> callList = new ArrayList<>();
+        callList.add(newCall);
+
+        assertFalse(conf.getDetails().can(Call.Details.CAPABILITY_MUTE));
+        int capabilities = mConferenceObject.getConnectionCapabilities() |
+                Connection.CAPABILITY_MUTE;
+        mConferenceObject.setConnectionCapabilities(capabilities);
+        assertCallCapability(conf, Call.Details.CAPABILITY_MUTE);
+
+        assertFalse(conf.getConferenceableCalls().contains(newCall));
+        mConferenceObject.setConferenceableConnections(connectionList);
+        assertCallConferenceableList(conf, callList);
+
+        mConferenceObject.setConnectionTime(0);
+
+        Bundle extras = new Bundle();
+        extras.putString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE, "Test");
+        assertNull(conf.getDetails().getExtras());
+        mConferenceObject.setExtras(extras);
+        assertCallExtras(conf, TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE, "Test");
+
+        StatusHints hints = new StatusHints("Test", null, null);
+        assertNull(conf.getDetails().getStatusHints());
+        mConferenceObject.setStatusHints(hints);
+        assertCallStatusHints(conf, hints);
+
+        assertFalse(conf.getChildren().contains(newCall));
+        mConferenceObject.addConnection(newConnection);
+        assertCallChildrenContains(conf, newCall, true);
+
+        assertTrue(conf.getChildren().contains(newCall));
+        mConferenceObject.removeConnection(newConnection);
+        assertCallChildrenContains(conf, newCall, false);
+
+        assertVideoState(conf, VideoProfile.STATE_AUDIO_ONLY);
+        final MockVideoProvider mockVideoProvider = mConnection1.getMockVideoProvider();
+        mConferenceObject.setVideoProvider(mConnection1, mockVideoProvider);
+        mConferenceObject.setVideoState(mConnection1, VideoProfile.STATE_BIDIRECTIONAL);
+        assertVideoState(conf, VideoProfile.STATE_BIDIRECTIONAL);
+
+        // Dialing state is unsupported for conference calls. so, the state remains active.
+        mConferenceObject.setDialing();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        mConferenceObject.setOnHold();
+        assertCallState(conf, Call.STATE_HOLDING);
+
+        mConferenceObject.setActive();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        mConferenceObject.setDisconnected(new DisconnectCause(DisconnectCause.LOCAL));
+        assertCallState(conf, Call.STATE_DISCONNECTED);
+
+        // Destroy state is unsupported for conference calls. so, the state remains active.
+        mConferenceObject.destroy();
+        assertCallState(conf, Call.STATE_DISCONNECTED);
+    }
+
+    public void testConferenceAddAndRemoveConnection() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        placeAndVerifyCall();
+        MockConnection newConnection = verifyConnectionForOutgoingCall(2);
+        final Call newCall = mInCallService.getLastCall();
+
+        ArrayList<Connection> connectionList = new ArrayList<>();
+        connectionList.add(newConnection);
+        ArrayList<Call> callList = new ArrayList<>();
+        callList.add(newCall);
+
+        assertFalse(conf.getChildren().contains(newCall));
+        mConferenceObject.addConnection(newConnection);
+        assertCallChildrenContains(conf, newCall, true);
+
+        assertTrue(conf.getChildren().contains(newCall));
+        mConferenceObject.removeConnection(newConnection);
+        assertCallChildrenContains(conf, newCall, false);
+    }
+
+    public void testConferenceDTMFTone() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call conf = mInCallService.getLastConferenceCall();
+        assertCallState(conf, Call.STATE_ACTIVE);
+
+        assertTrue(((MockConference)mConferenceObject).getDtmfString().isEmpty());
+        conf.playDtmfTone('1');
+        assertDtmfString((MockConference)mConferenceObject, "1");
+        conf.stopDtmfTone();
+        assertDtmfString((MockConference)mConferenceObject, "1.");
+        conf.playDtmfTone('3');
+        assertDtmfString((MockConference)mConferenceObject, "1.3");
+        conf.stopDtmfTone();
+        assertDtmfString((MockConference)mConferenceObject, "1.3.");
+    }
+
+    private void verifyConferenceObject(Conference mConferenceObject, MockConnection connection1,
+            MockConnection connection2) {
+        assertNull(mConferenceObject.getCallAudioState());
+        assertTrue(mConferenceObject.getConferenceableConnections().isEmpty());
+        assertEquals(connection1.getConnectionCapabilities(),
+                mConferenceObject.getConnectionCapabilities());
+        assertEquals(connection1.getState(), mConferenceObject.getState());
+        assertEquals(connection2.getState(), mConferenceObject.getState());
+        assertTrue(mConferenceObject.getConnections().contains(connection1));
+        assertTrue(mConferenceObject.getConnections().contains(connection2));
+        assertEquals(connection1.getDisconnectCause(), mConferenceObject.getDisconnectCause());
+        assertEquals(connection1.getExtras(), mConferenceObject.getExtras());
+        assertEquals(connection1.getPhoneAccountHandle(), mConferenceObject.getPhoneAccountHandle());
+        assertEquals(connection1.getStatusHints(), mConferenceObject.getStatusHints());
+        assertEquals(VideoProfile.STATE_AUDIO_ONLY, mConferenceObject.getVideoState());
+        assertNull(mConferenceObject.getVideoProvider());
+    }
+
+    private void addOutgoingCalls() {
+        try {
+            PhoneAccount account = setupConnectionService(
+                    new MockConnectionService() {
+                        @Override
+                        public Connection onCreateOutgoingConnection(
+                                PhoneAccountHandle connectionManagerPhoneAccount,
+                                ConnectionRequest request) {
+                            Connection connection = super.onCreateOutgoingConnection(
+                                    connectionManagerPhoneAccount,
+                                    request);
+                            // Modify the connection object created with local values.
+                            int capabilities = connection.getConnectionCapabilities();
+                            connection.setConnectionCapabilities(capabilities | CONF_CAPABILITIES);
+                            return connection;
+                        }
+                    }, FLAG_REGISTER | FLAG_ENABLE);
+        } catch(Exception e) {
+            fail("Error in setting up the connection services");
+        }
+
+        placeAndVerifyCall();
+        mConnection1 = verifyConnectionForOutgoingCall(0);
+        mInCallService = mInCallCallbacks.getService();
+        mCall1 = mInCallService.getLastCall();
+        assertCallState(mCall1, Call.STATE_DIALING);
+        mConnection1.setActive();
+        assertCallState(mCall1, Call.STATE_ACTIVE);
+
+        placeAndVerifyCall();
+        mConnection2 = verifyConnectionForOutgoingCall(1);
+        mCall2 = mInCallService.getLastCall();
+        assertCallState(mCall2, Call.STATE_DIALING);
+        mConnection2.setActive();
+        assertCallState(mCall2, Call.STATE_ACTIVE);
+
+        setAndVerifyConferenceablesForOutgoingConnection(0);
+        setAndVerifyConferenceablesForOutgoingConnection(1);
+    }
+
+    private void assertCallCapability(final Call call, final int capability) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return true;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().can(capability);
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should have capability " + capability
+        );
+    }
+
+    private void assertCallConnectTime(final Call call, final int connectTime) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return connectTime;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().getConnectTimeMillis();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should have connect time " + connectTime
+        );
+    }
+
+    private void assertCallExtras(final Call call, final String key, final String value) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return value;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().getExtras() != null ?
+                            call.getDetails().getExtras().getString(key) : null;
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should have extra " + key + "=" + value
+        );
+    }
+
+    private void assertCallStatusHints(final Call call, final StatusHints hints) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return hints;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().getStatusHints();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should have status hints " + hints
+        );
+    }
+
+    private void assertCallChildrenContains(final Call call, final Call childrenCall,
+                                            final boolean expected) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return expected;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getChildren().contains(childrenCall);
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                expected == true ? "Call should have child call " + childrenCall :
+                        "Call should not have child call " + childrenCall
+        );
+    }
+
+    private void assertVideoState(final Call call, final int videoState) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return videoState;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getDetails().getVideoState();
+                    }
+                },
+                TestUtils.WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call should be in videoState " + videoState
+        );
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
new file mode 100644
index 0000000..afaa3eb
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/ConnectionServiceTest.java
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.*;
+
+import android.telecom.Call;
+import android.telecom.Connection;
+import android.telecom.ConnectionService;
+import android.util.Log;
+
+import java.util.Collection;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Test some additional {@link ConnectionService} APIs not already covered by other tests.
+ */
+public class ConnectionServiceTest extends BaseTelecomTestWithMockServices {
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getContext();
+        if (mShouldTestTelecom) {
+            setupConnectionService(null, FLAG_REGISTER | FLAG_ENABLE);
+        }
+    }
+
+    public void testAddExistingConnection() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        verifyConnectionForOutgoingCall();
+
+        final MockConnection connection = new MockConnection();
+        connection.setOnHold();
+        CtsConnectionService.addExistingConnectionToTelecom(TEST_PHONE_ACCOUNT_HANDLE, connection);
+
+        try {
+            if (!mInCallCallbacks.lock.tryAcquire(3, TimeUnit.SECONDS)) {
+                fail("No call added to InCallService.");
+            }
+        } catch (InterruptedException e) {
+            Log.i(TAG, "Test interrupted!");
+        }
+
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+        final Call call = inCallService.getLastCall();
+        assertCallState(call, Call.STATE_HOLDING);
+    }
+
+    public void testGetAllConnections() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        // Add first connection (outgoing call)
+        placeAndVerifyCall();
+        final Connection connection1 = verifyConnectionForOutgoingCall();
+
+        Collection<Connection> connections = CtsConnectionService.getAllConnectionsFromTelecom();
+        assertEquals(1, connections.size());
+        assertTrue(connections.contains(connection1));
+
+        // Add second connection (add existing connection)
+        final Connection connection2 = new MockConnection();
+        CtsConnectionService.addExistingConnectionToTelecom(TEST_PHONE_ACCOUNT_HANDLE, connection2);
+
+        connections = CtsConnectionService.getAllConnectionsFromTelecom();
+        assertEquals(2, connections.size());
+        assertTrue(connections.contains(connection2));
+
+        // Add third connection (incoming call)
+        addAndVerifyNewIncomingCall(getTestNumber(), null);
+        final Connection connection3 = verifyConnectionForIncomingCall();
+        connections = CtsConnectionService.getAllConnectionsFromTelecom();
+        assertEquals(3, connections.size());
+        assertTrue(connections.contains(connection3));
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/ConnectionTest.java b/tests/tests/telecom/src/android/telecom/cts/ConnectionTest.java
index 9a1ebc9..b6818c8 100644
--- a/tests/tests/telecom/src/android/telecom/cts/ConnectionTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/ConnectionTest.java
@@ -18,9 +18,13 @@
 
 import static android.telecom.cts.TestUtils.shouldTestTelecom;
 
+import android.net.Uri;
 import android.os.Build;
+import android.os.Bundle;
 import android.telecom.Connection;
 import android.telecom.DisconnectCause;
+import android.telecom.StatusHints;
+import android.telecom.TelecomManager;
 import android.test.AndroidTestCase;
 
 import java.util.concurrent.Semaphore;
@@ -111,6 +115,184 @@
         fail("Connection should not move out of STATE_DISCONNECTED");
     }
 
+    public void testSetAndGetCallerDisplayName() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        connection.setCallerDisplayName("Test User", TelecomManager.PRESENTATION_ALLOWED);
+        assertEquals("Test User", connection.getCallerDisplayName());
+        assertEquals(TelecomManager.PRESENTATION_ALLOWED,
+                connection.getCallerDisplayNamePresentation());
+    }
+
+    public void testSetAndGetAddress() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        final Uri address = Uri.fromParts("tel", "1234567", null);
+        connection.setAddress(address, TelecomManager.PRESENTATION_UNKNOWN);
+        assertEquals(address, connection.getAddress());
+        assertEquals(TelecomManager.PRESENTATION_UNKNOWN, connection.getAddressPresentation());
+    }
+
+    public void testSetAndGetConnectionCapabilities() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        final int capabilities = Connection.CAPABILITY_HOLD | Connection.CAPABILITY_CAN_PAUSE_VIDEO
+                | Connection.CAPABILITY_MANAGE_CONFERENCE | Connection.CAPABILITY_RESPOND_VIA_TEXT;
+
+        connection.setConnectionCapabilities(capabilities);
+
+        assertEquals(capabilities, connection.getConnectionCapabilities());
+    }
+
+    public void testSetAndGetDisconnectCause() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+        assertEquals(Connection.STATE_NEW, connection.getState());
+
+        final DisconnectCause disconnectCause = new DisconnectCause(DisconnectCause.REJECTED,
+                "No friends", "No friends to talk to", "No friends to talk to");
+
+        connection.setDisconnected(disconnectCause);
+
+        assertEquals(Connection.STATE_DISCONNECTED, connection.getState());
+        assertEquals(disconnectCause, connection.getDisconnectCause());
+    }
+
+    public void testSetAndGetAudioModeIsVoip() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        assertFalse(connection.getAudioModeIsVoip());
+        connection.setAudioModeIsVoip(true);
+        assertTrue(connection.getAudioModeIsVoip());
+    }
+
+    public void testSetAndGetExtras() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        assertEquals(null, connection.getExtras());
+
+        final Bundle extras = new Bundle();
+        extras.putBoolean("test-extra-key", true);
+        connection.setExtras(extras);
+
+        final Bundle retrieved = connection.getExtras();
+        assertNotNull(retrieved);
+        assertTrue(extras.getBoolean("test-extra-key"));
+    }
+
+    public void testSetAndGetStatusHints() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        assertEquals(null, connection.getStatusHints());
+
+        final StatusHints statusHints = new StatusHints("Test", null, null);
+        connection.setStatusHints(statusHints);
+        assertEquals(statusHints, connection.getStatusHints());
+    }
+
+    public void testSetAndGetRingbackRequested() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        assertFalse(connection.isRingbackRequested());
+
+        connection.setRingbackRequested(true);
+        assertTrue(connection.isRingbackRequested());
+    }
+
+    public void testSetAndGetVideoProvider() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        final Semaphore lock = new Semaphore(0);
+        Connection connection = createConnection(lock);
+        waitForStateChange(lock);
+
+        assertNull(connection.getVideoProvider());
+
+        final Connection.VideoProvider videoProvider = new MockVideoProvider(null);
+        connection.setVideoProvider(videoProvider);
+        assertEquals(videoProvider, connection.getVideoProvider());
+    }
+
+    public void testStateToString() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        assertEquals("INITIALIZING", Connection.stateToString(Connection.STATE_INITIALIZING));
+        assertEquals("NEW", Connection.stateToString(Connection.STATE_NEW));
+        assertEquals("RINGING", Connection.stateToString(Connection.STATE_RINGING));
+        assertEquals("DIALING", Connection.stateToString(Connection.STATE_DIALING));
+        assertEquals("ACTIVE", Connection.stateToString(Connection.STATE_ACTIVE));
+        assertEquals("HOLDING", Connection.stateToString(Connection.STATE_HOLDING));
+        assertEquals("DISCONNECTED", Connection.stateToString(Connection.STATE_DISCONNECTED));
+    }
+
+    public void testCapabilitiesToString() {
+        if (!shouldTestTelecom(getContext())) {
+            return;
+        }
+
+        assertEquals("[Capabilities: CAPABILITY_HOLD]",
+                Connection.capabilitiesToString(Connection.CAPABILITY_HOLD));
+        assertEquals("[Capabilities: CAPABILITY_MUTE]",
+                Connection.capabilitiesToString(Connection.CAPABILITY_MUTE));
+        assertEquals("[Capabilities: CAPABILITY_HOLD "
+                + "CAPABILITY_RESPOND_VIA_TEXT "
+                + "CAPABILITY_MANAGE_CONFERENCE]",
+                Connection.capabilitiesToString(Connection.CAPABILITY_HOLD
+                        | Connection.CAPABILITY_RESPOND_VIA_TEXT
+                        | Connection.CAPABILITY_MANAGE_CONFERENCE));
+    }
+
     private static Connection createConnection(final Semaphore lock) {
         BasicConnection connection = new BasicConnection();
         connection.setLock(lock);
diff --git a/tests/tests/telecom/src/android/telecom/cts/CtsConnectionService.java b/tests/tests/telecom/src/android/telecom/cts/CtsConnectionService.java
index 9cfa0e3..3c30e6b 100644
--- a/tests/tests/telecom/src/android/telecom/cts/CtsConnectionService.java
+++ b/tests/tests/telecom/src/android/telecom/cts/CtsConnectionService.java
@@ -16,14 +16,15 @@
 
 package android.telecom.cts;
 
+import android.telecom.Conference;
 import android.telecom.Connection;
 import android.telecom.ConnectionRequest;
 import android.telecom.ConnectionService;
-import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
+import android.telecom.RemoteConference;
+import android.telecom.RemoteConnection;
 
-import java.util.concurrent.Semaphore;
+import java.util.Collection;
 
 /**
  * This is the official ConnectionService for Telecom's CTS App. Since telecom requires that a
@@ -32,9 +33,25 @@
  * tell CtsConnectionService to forward any method invocations to that test's implementation.
  * This is set up using {@link #setUp} and should be cleaned up before the end of the test using
  * {@link #tearDown}.
+ *
+ * sConnectionService: Contains the connection service object provided by the current test in
+ *                     progress. We use this object to forward any communication received from the
+ *                     Telecom framework to the test connection service.
+ * sTelecomConnectionService: Contains the connection service object registered to the Telecom
+ *                            framework. We use this object to forward any communication from the
+ *                            test connection service to the Telecom framework.
+ *
  */
 public class CtsConnectionService extends ConnectionService {
+    // This is the connection service implemented by the test
     private static ConnectionService sConnectionService;
+    // This is the connection service registered with Telecom
+    private static ConnectionService sTelecomConnectionService;
+
+    public CtsConnectionService() throws Exception {
+        super();
+        sTelecomConnectionService = this;
+    }
 
     // ConnectionService used by default as a fallback if no connection service is specified
     // during test setup.
@@ -47,14 +64,14 @@
      */
     private static Object sLock = new Object();
 
-    public static PhoneAccount setUp(PhoneAccount phoneAccount, ConnectionService connectionService)
+    public static void setUp(PhoneAccountHandle phoneAccountHandle,
+            ConnectionService connectionService)
             throws Exception {
         synchronized(sLock) {
             if (sConnectionService != null) {
                 throw new Exception("Mock ConnectionService exists.  Failed to call tearDown().");
             }
             sConnectionService = connectionService;
-            return phoneAccount;
         }
     }
 
@@ -85,9 +102,80 @@
             if (sConnectionService != null) {
                 return sConnectionService.onCreateIncomingConnection(
                         connectionManagerPhoneAccount, request);
+            } else {
+                return mMockConnectionService.onCreateIncomingConnection(
+                        connectionManagerPhoneAccount, request);
             }
-            return mMockConnectionService.onCreateIncomingConnection(
+        }
+    }
+
+    @Override
+    public void onConference(Connection connection1, Connection connection2) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                sConnectionService.onConference(connection1, connection2);
+            } else {
+                mMockConnectionService.onConference(connection1, connection2);
+            }
+        }
+    }
+
+    @Override
+    public void onRemoteExistingConnectionAdded(RemoteConnection connection) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                sConnectionService.onRemoteExistingConnectionAdded(connection);
+            } else {
+                mMockConnectionService.onRemoteExistingConnectionAdded(connection);
+            }
+        }
+    }
+
+    public static void addConferenceToTelecom(Conference conference) {
+        synchronized(sLock) {
+            sTelecomConnectionService.addConference(conference);
+        }
+    }
+
+    public static void addExistingConnectionToTelecom(
+            PhoneAccountHandle phoneAccountHandle, Connection connection) {
+        synchronized(sLock) {
+            sTelecomConnectionService.addExistingConnection(phoneAccountHandle, connection);
+        }
+    }
+
+    public static Collection<Connection> getAllConnectionsFromTelecom() {
+        synchronized(sLock) {
+            return sTelecomConnectionService.getAllConnections();
+        }
+    }
+
+    public static RemoteConnection createRemoteOutgoingConnectionToTelecom(
+            PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        synchronized(sLock) {
+            return sTelecomConnectionService.createRemoteOutgoingConnection(
                     connectionManagerPhoneAccount, request);
         }
     }
+
+    public static RemoteConnection createRemoteIncomingConnectionToTelecom(
+            PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        synchronized(sLock) {
+            return sTelecomConnectionService.createRemoteIncomingConnection(
+                    connectionManagerPhoneAccount, request);
+        }
+    }
+
+    @Override
+    public void onRemoteConferenceAdded(RemoteConference conference) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                sConnectionService.onRemoteConferenceAdded(conference);
+            } else {
+                mMockConnectionService.onRemoteConferenceAdded(conference);
+            }
+        }
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/CtsRemoteConnectionService.java b/tests/tests/telecom/src/android/telecom/cts/CtsRemoteConnectionService.java
new file mode 100644
index 0000000..3738487
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/CtsRemoteConnectionService.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import android.telecom.Conference;
+import android.telecom.Connection;
+import android.telecom.ConnectionRequest;
+import android.telecom.ConnectionService;
+import android.telecom.PhoneAccountHandle;
+
+/**
+ * This is the Remote ConnectionService for Telecom's CTS App. Since telecom requires that a
+ * CS be registered in the AndroidManifest.xml file, we have to have a single implementation
+ * of a CS and this is it. To test specific CS behavior, tests will implement their own CS and
+ * tell CtsRemoteConnectionService to forward any method invocations to that test's implementation.
+ * This is set up using {@link #setUp} and should be cleaned up before the end of the test using
+ * {@link #tearDown}.
+ *
+ * sConnectionService: Contains the connection service object provided by the current test in
+ *                     progress. We use this object to forward any communication received from the
+ *                     Telecom framework to the test connection service.
+ * sTelecomConnectionService: Contains the connection service object registered to the Telecom
+ *                            framework. We use this object to forward any communication from the
+ *                            test connection service to the Telecom framework.
+ *
+ */
+public class CtsRemoteConnectionService extends ConnectionService {
+    // This is the connection service implemented by the test
+    private static ConnectionService sConnectionService;
+    // This is the connection service registered with Telecom
+    private static ConnectionService sTelecomConnectionService;
+
+    public CtsRemoteConnectionService() throws Exception {
+        super();
+        if (sTelecomConnectionService != null) {
+            throw new Exception("Telecom ConnectionService exists");
+        }
+        sTelecomConnectionService = this;
+    }
+
+    // ConnectionService used by default as a fallback if no connection service is specified
+    // during test setup.
+    private static ConnectionService mMockConnectionService = new MockConnectionService();
+
+    /**
+     * Used to control whether the {@link MockVideoProvider} will be created when connections are
+     * created.  Used by {@link VideoCallTest#testVideoCallDelayProvider()} to test scenario where
+     * the {@link MockVideoProvider} is not created immediately when the Connection is created.
+     */
+    private static Object sLock = new Object();
+
+    public static void setUp(PhoneAccountHandle phoneAccountHandle,
+            ConnectionService connectionService)
+            throws Exception {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                throw new Exception("Mock ConnectionService exists.  Failed to call tearDown().");
+            }
+            sConnectionService = connectionService;
+        }
+    }
+
+    public static void tearDown() {
+        synchronized(sLock) {
+            sConnectionService = null;
+        }
+    }
+
+    @Override
+    public Connection onCreateOutgoingConnection(PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                return sConnectionService.onCreateOutgoingConnection(
+                        connectionManagerPhoneAccount, request);
+            } else {
+                return mMockConnectionService.onCreateOutgoingConnection(
+                        connectionManagerPhoneAccount, request);
+            }
+        }
+    }
+
+    @Override
+    public Connection onCreateIncomingConnection(PhoneAccountHandle connectionManagerPhoneAccount,
+            ConnectionRequest request) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                return sConnectionService.onCreateIncomingConnection(
+                        connectionManagerPhoneAccount, request);
+            } else {
+                return mMockConnectionService.onCreateIncomingConnection(
+                        connectionManagerPhoneAccount, request);
+            }
+        }
+    }
+
+    @Override
+    public void onConference(Connection connection1, Connection connection2) {
+        synchronized(sLock) {
+            if (sConnectionService != null) {
+                sConnectionService.onConference(connection1, connection2);
+            } else {
+                mMockConnectionService.onConference(connection1, connection2);
+            }
+        }
+    }
+
+    public static void addConferenceToTelecom(Conference conference) {
+        synchronized(sLock) {
+            sTelecomConnectionService.addConference(conference);
+        }
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/DataObjectUnitTests.java b/tests/tests/telecom/src/android/telecom/cts/DataObjectUnitTests.java
index 88babef..1fbe0d5 100644
--- a/tests/tests/telecom/src/android/telecom/cts/DataObjectUnitTests.java
+++ b/tests/tests/telecom/src/android/telecom/cts/DataObjectUnitTests.java
@@ -26,6 +26,8 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Parcel;
+import android.os.Process;
+import android.os.UserHandle;
 import android.telecom.CallAudioState;
 import android.telecom.ConnectionRequest;
 import android.telecom.DisconnectCause;
@@ -43,14 +45,12 @@
 import java.util.List;
 
 /**
- * Verifies the parcelable interface of all the telecom objects.
+ * Verifies that the setter, getter and parcelable interfaces of the Telecom data objects are
+ * working as intended.
  */
 public class DataObjectUnitTests extends InstrumentationTestCase {
 
 
-    /**
-     * Tests the PhoneAccount object creation and recreation from a Parcel.
-     */
     public void testPhoneAccount() throws Exception {
         Context context = getInstrumentation().getContext();
         PhoneAccountHandle accountHandle = new PhoneAccountHandle(
@@ -59,12 +59,12 @@
         Icon phoneIcon = Icon.createWithResource(context, R.drawable.ic_phone_24dp);
         Uri tel = Uri.parse("tel:555-TEST");
         PhoneAccount account = PhoneAccount.builder(
-                accountHandle, LABEL)
+                accountHandle, ACCOUNT_LABEL)
                 .setAddress(tel)
                 .setSubscriptionAddress(tel)
                 .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
                 .setHighlightColor(Color.RED)
-                .setShortDescription(LABEL)
+                .setShortDescription(ACCOUNT_LABEL)
                 .setSupportedUriSchemes(Arrays.asList("tel"))
                 .setIcon(phoneIcon)
                 .build();
@@ -74,7 +74,8 @@
         assertEquals(tel, account.getSubscriptionAddress());
         assertEquals(PhoneAccount.CAPABILITY_CALL_PROVIDER, account.getCapabilities());
         assertEquals(Color.RED, account.getHighlightColor());
-        assertEquals(LABEL, account.getShortDescription());
+        assertEquals(ACCOUNT_LABEL, account.getShortDescription());
+        assertEquals(ACCOUNT_LABEL, account.getLabel());
         assertEquals(Arrays.asList("tel"), account.getSupportedUriSchemes());
         assertEquals(phoneIcon.toString(), account.getIcon().toString());
         assertEquals(0, account.describeContents());
@@ -91,16 +92,39 @@
         assertEquals(tel, parcelAccount.getSubscriptionAddress());
         assertEquals(PhoneAccount.CAPABILITY_CALL_PROVIDER, parcelAccount.getCapabilities());
         assertEquals(Color.RED, parcelAccount.getHighlightColor());
-        assertEquals(LABEL, parcelAccount.getShortDescription());
+        assertEquals(ACCOUNT_LABEL, parcelAccount.getShortDescription());
         assertEquals(Arrays.asList("tel"), parcelAccount.getSupportedUriSchemes());
         assertEquals(phoneIcon.toString(), parcelAccount.getIcon().toString());
         assertEquals(0, parcelAccount.describeContents());
         p.recycle();
     }
 
-    /**
-     * Tests the ConnectionRequest object creation and recreation from a Parcel.
-     */
+    public void testPhoneAccountHandle() throws Exception {
+        final ComponentName component = new ComponentName(PACKAGE, COMPONENT);
+        final UserHandle userHandle = Process.myUserHandle();
+        PhoneAccountHandle accountHandle = new PhoneAccountHandle(
+                component,
+                ACCOUNT_ID,
+                userHandle);
+        assertNotNull(accountHandle);
+        assertEquals(component, accountHandle.getComponentName());
+        assertEquals(ACCOUNT_ID, accountHandle.getId());
+        assertEquals(userHandle, accountHandle.getUserHandle());
+        assertEquals(0, accountHandle.describeContents());
+
+        // Create a parcel of the object and recreate the object back
+        // from the parcel.
+        Parcel p = Parcel.obtain();
+        accountHandle.writeToParcel(p, 0);
+        p.setDataPosition(0);
+        PhoneAccountHandle unparcelled = PhoneAccountHandle.CREATOR.createFromParcel(p);
+        assertEquals(accountHandle, unparcelled);
+        assertEquals(accountHandle.getComponentName(), unparcelled.getComponentName());
+        assertEquals(accountHandle.getId(), unparcelled.getId());
+        assertEquals(accountHandle.getUserHandle(), unparcelled.getUserHandle());
+        p.recycle();
+    }
+
     public void testConnectionRequest() throws Exception {
         PhoneAccountHandle accountHandle = new PhoneAccountHandle(
                 new ComponentName(PACKAGE, COMPONENT),
@@ -138,11 +162,7 @@
         p.recycle();
     }
 
-    /**
-     * Tests the DisconnectCause object creation and recreation from a Parcel.
-     */
     public void testDisconnectCause() throws Exception {
-        Context context = getInstrumentation().getContext();
         final CharSequence label = "Out of service area";
         final CharSequence description = "Mobile network not available";
         final String reason = "CTS Testing";
@@ -175,9 +195,6 @@
         p.recycle();
     }
 
-    /**
-     * Tests the StatusHints object creation and recreation from a Parcel.
-     */
     public void testStatusHints() throws Exception {
         Context context = getInstrumentation().getContext();
         final CharSequence label = "Wi-Fi call";
@@ -214,9 +231,6 @@
         p.recycle();
     }
 
-    /**
-     * Tests the GatewayInfo object creation and recreation from a Parcel.
-     */
     public void testGatewayInfo() throws Exception {
         final CharSequence label = "Wi-Fi call";
         Uri originalAddress = Uri.parse("http://www.google.com");
@@ -229,6 +243,7 @@
         assertEquals(gatewayAddress, info.getGatewayAddress());
         assertEquals(originalAddress, info.getOriginalAddress());
         assertEquals(0, info.describeContents());
+        assertFalse(info.isEmpty());
 
         // Create a parcel of the object and recreate the object back
         // from the parcel.
@@ -243,9 +258,6 @@
         p.recycle();
     }
 
-    /**
-     * Tests the CallAudioState object creation and recreation from a Parcel.
-     */
     public void testCallAudioState() throws Exception {
         CallAudioState audioState = new CallAudioState(
                 true,
@@ -255,6 +267,7 @@
         assertEquals(CallAudioState.ROUTE_EARPIECE, audioState.getRoute());
         assertEquals(CallAudioState.ROUTE_WIRED_OR_EARPIECE, audioState.getSupportedRouteMask());
         assertEquals(0, audioState.describeContents());
+        assertEquals("EARPIECE", CallAudioState.audioRouteToString(audioState.getRoute()));
 
         // Create a parcel of the object and recreate the object back
         // from the parcel.
@@ -269,4 +282,40 @@
         assertEquals(audioState, parcelAudioState);
         p.recycle();
     }
+
+    public void testVideoProfile() throws Exception {
+        VideoProfile videoProfile = new VideoProfile(VideoProfile.STATE_BIDIRECTIONAL,
+                VideoProfile.QUALITY_HIGH);
+        assertEquals(VideoProfile.STATE_BIDIRECTIONAL, videoProfile.getVideoState());
+        assertEquals(VideoProfile.QUALITY_HIGH, videoProfile.getQuality());
+        assertEquals(0, videoProfile.describeContents());
+        assertEquals("Audio Tx Rx", VideoProfile.videoStateToString(videoProfile.getVideoState()));
+
+        // Create a parcel of the object and recreate the object back from the parcel.
+        Parcel p = Parcel.obtain();
+        videoProfile.writeToParcel(p, 0);
+        p.setDataPosition(0);
+        VideoProfile unparcelled = VideoProfile.CREATOR.createFromParcel(p);
+        assertEquals(videoProfile.getQuality(), unparcelled.getQuality());
+        assertEquals(videoProfile.getVideoState(), unparcelled.getVideoState());
+        p.recycle();
+    }
+
+    public void testCameraCapabilities() throws Exception {
+        VideoProfile.CameraCapabilities cameraCapabilities =
+                new VideoProfile.CameraCapabilities(500, 1000);
+        assertEquals(500, cameraCapabilities.getWidth());
+        assertEquals(1000, cameraCapabilities.getHeight());
+        assertEquals(0, cameraCapabilities.describeContents());
+
+        // Create a parcel of the object and recreate the object back from the parcel.
+        Parcel p = Parcel.obtain();
+        cameraCapabilities.writeToParcel(p, 0);
+        p.setDataPosition(0);
+        VideoProfile.CameraCapabilities unparcelled =
+                VideoProfile.CameraCapabilities.CREATOR.createFromParcel(p);
+        assertEquals(cameraCapabilities.getWidth(), unparcelled.getWidth());
+        assertEquals(cameraCapabilities.getHeight(), unparcelled.getHeight());
+        p.recycle();
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/ExtendedInCallServiceTest.java b/tests/tests/telecom/src/android/telecom/cts/ExtendedInCallServiceTest.java
index fbbf3ca..19d27af 100644
--- a/tests/tests/telecom/src/android/telecom/cts/ExtendedInCallServiceTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/ExtendedInCallServiceTest.java
@@ -18,13 +18,17 @@
 
 import static android.telecom.cts.TestUtils.*;
 
+import android.content.Context;
 import android.telecom.CallAudioState;
 import android.telecom.Call;
 import android.telecom.Connection;
 import android.telecom.ConnectionService;
 import android.telecom.InCallService;
+import android.telecom.TelecomManager;
 import android.telecom.VideoProfile;
 
+import java.util.List;
+
 /**
  * Extended suite of tests that use {@link CtsConnectionService} and {@link MockInCallService} to
  * verify the functionality of the Telecom service.
@@ -34,13 +38,13 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        if (TestUtils.shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             setupConnectionService(null, FLAG_REGISTER | FLAG_ENABLE);
         }
     }
 
     public void testAddNewOutgoingCallAndThenDisconnect() {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -54,7 +58,7 @@
     }
 
     public void testMuteAndUnmutePhone() {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -65,11 +69,12 @@
 
         final Call call = inCallService.getLastCall();
 
-        assertCallState(call, Call.STATE_ACTIVE);
+        assertCallState(call, Call.STATE_DIALING);
 
         assertMuteState(connection, false);
 
-        inCallService.setMuted(true);
+        // Explicitly call super implementation to enable detection of CTS coverage
+        ((InCallService) inCallService).setMuted(true);
 
         assertMuteState(connection, true);
         assertMuteState(inCallService, true);
@@ -80,7 +85,7 @@
     }
 
     public void testSwitchAudioRoutes() {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -90,16 +95,23 @@
         final MockInCallService inCallService = mInCallCallbacks.getService();
 
         final Call call = inCallService.getLastCall();
-        assertCallState(call, Call.STATE_ACTIVE);
+        assertCallState(call, Call.STATE_DIALING);
+
+        final int currentInvokeCount = mOnCallAudioStateChangedCounter.getInvokeCount();
 
         // Only test speaker and earpiece modes because the other modes are dependent on having
         // a bluetooth headset or wired headset connected.
 
-        inCallService.setAudioRoute(CallAudioState.ROUTE_SPEAKER);
+        // Explicitly call super implementation to enable detection of CTS coverage
+        ((InCallService) inCallService).setAudioRoute(CallAudioState.ROUTE_SPEAKER);
+        mOnCallAudioStateChangedCounter.waitForCount(currentInvokeCount + 1,
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
         assertAudioRoute(connection, CallAudioState.ROUTE_SPEAKER);
         assertAudioRoute(inCallService, CallAudioState.ROUTE_SPEAKER);
 
         inCallService.setAudioRoute(CallAudioState.ROUTE_EARPIECE);
+        mOnCallAudioStateChangedCounter.waitForCount(currentInvokeCount + 2,
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
         assertAudioRoute(connection, CallAudioState.ROUTE_EARPIECE);
         assertAudioRoute(inCallService, CallAudioState.ROUTE_EARPIECE);
     }
@@ -112,7 +124,7 @@
      * @see {@link Call#stopDtmfTone()}
      */
     public void testPlayAndStopDtmfTones() {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -122,7 +134,7 @@
         final MockInCallService inCallService = mInCallCallbacks.getService();
 
         final Call call = inCallService.getLastCall();
-        assertCallState(call, Call.STATE_ACTIVE);
+        assertCallState(call, Call.STATE_DIALING);
 
         assertDtmfString(connection, "");
 
@@ -145,7 +157,7 @@
     }
 
     public void testHoldAndUnholdCall() {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -156,6 +168,10 @@
 
         final Call call = inCallService.getLastCall();
 
+        assertCallState(call, Call.STATE_DIALING);
+
+        connection.setActive();
+
         assertCallState(call, Call.STATE_ACTIVE);
 
         call.hold();
@@ -168,6 +184,10 @@
     }
 
     public void testAnswerIncomingCallAudioOnly() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         addAndVerifyNewIncomingCall(getTestNumber(), null);
         final MockConnection connection = verifyConnectionForIncomingCall();
 
@@ -185,6 +205,10 @@
     }
 
     public void testAnswerIncomingCallAsVideo_SendsCorrectVideoState() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         addAndVerifyNewIncomingCall(getTestNumber(), null);
         final MockConnection connection = verifyConnectionForIncomingCall();
 
@@ -204,6 +228,10 @@
     }
 
     public void testRejectIncomingCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         addAndVerifyNewIncomingCall(getTestNumber(), null);
         final MockConnection connection = verifyConnectionForIncomingCall();
 
@@ -219,4 +247,232 @@
         assertCallState(call, Call.STATE_DISCONNECTED);
         assertConnectionState(connection, Connection.STATE_DISCONNECTED);
     }
+
+    public void testCanAddCall_CannotAddForExistingDialingCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        verifyConnectionForOutgoingCall();
+
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+
+        final Call call = inCallService.getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+
+        assertCanAddCall(inCallService, false,
+                "Should not be able to add call with existing dialing call");
+    }
+
+    public void testCanAddCall_CanAddForExistingActiveCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        final MockConnection connection = verifyConnectionForOutgoingCall();
+
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+
+        final Call call = inCallService.getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+
+        connection.setActive();
+
+        assertCallState(call, Call.STATE_ACTIVE);
+
+        assertCanAddCall(inCallService, true,
+                "Should be able to add call with only one active call");
+    }
+
+    public void testCanAddCall_CannotAddIfTooManyCalls() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        final MockConnection connection1 = verifyConnectionForOutgoingCall(0);
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+        final Call call1 = inCallService.getLastCall();
+        assertCallState(call1, Call.STATE_DIALING);
+
+        connection1.setActive();
+
+        assertCallState(call1, Call.STATE_ACTIVE);
+
+        placeAndVerifyCall();
+        final MockConnection connection2 = verifyConnectionForOutgoingCall(1);
+
+        final Call call2 = inCallService.getLastCall();
+        assertCallState(call2, Call.STATE_DIALING);
+        connection2.setActive();
+        assertCallState(call2, Call.STATE_ACTIVE);
+
+        assertEquals("InCallService should have 2 calls", 2, inCallService.getCallCount());
+
+        assertCanAddCall(inCallService, false,
+                "Should not be able to add call with two calls already present");
+
+        call1.hold();
+        assertCallState(call1, Call.STATE_HOLDING);
+
+        assertCanAddCall(inCallService, false,
+                "Should not be able to add call with two calls already present");
+    }
+
+    public void testOnBringToForeground() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        verifyConnectionForOutgoingCall();
+
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+
+        final Call call = inCallService.getLastCall();
+
+        assertCallState(call, Call.STATE_DIALING);
+
+        assertEquals(0, mOnBringToForegroundCounter.getInvokeCount());
+
+        final TelecomManager tm =
+            (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
+
+        tm.showInCallScreen(false);
+
+        mOnBringToForegroundCounter.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+
+        assertFalse((Boolean) mOnBringToForegroundCounter.getArgs(0)[0]);
+
+        tm.showInCallScreen(true);
+
+        mOnBringToForegroundCounter.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+
+        assertTrue((Boolean) mOnBringToForegroundCounter.getArgs(1)[0]);
+    }
+
+    public void testOnPostDialWaitAndContinue() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        final MockConnection connection = verifyConnectionForOutgoingCall();
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+        final Call call = inCallService.getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+
+        connection.setActive();
+        assertCallState(call, Call.STATE_ACTIVE);
+
+        final String postDialString = "12345";
+        ((Connection) connection).setPostDialWait(postDialString);
+        mOnPostDialWaitCounter.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+
+        assertEquals(postDialString, mOnPostDialWaitCounter.getArgs(0)[1]);
+        assertEquals(postDialString, call.getRemainingPostDialSequence());
+
+        final InvokeCounter counter = connection.getInvokeCounter(MockConnection.ON_POST_DIAL_WAIT);
+
+        call.postDialContinue(true);
+        counter.waitForCount(1);
+        assertTrue((Boolean) counter.getArgs(0)[0]);
+
+        call.postDialContinue(false);
+        counter.waitForCount(2);
+        assertFalse((Boolean) counter.getArgs(1)[0]);
+    }
+
+    public void testOnCannedTextResponsesLoaded() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        addAndVerifyNewIncomingCall(getTestNumber(), null);
+        verifyConnectionForIncomingCall();
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+
+        final Call call = inCallService.getLastCall();
+
+        assertCallState(call, Call.STATE_RINGING);
+
+        // We can't do much to enforce the number and type of responses that are preloaded on
+        // device, so the best we can do is to make sure that the call back is called and
+        // that the returned list is non-empty.
+
+        // This test should also verify that the callback is called as well, but unfortunately it
+        // is never called right now (b/22952515).
+        // mOnCannedTextResponsesLoadedCounter.waitForCount(1);
+
+        assertGetCannedTextResponsesNotEmpty(call);
+    }
+
+    public void testGetCalls() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        placeAndVerifyCall();
+        final MockConnection connection1 = verifyConnectionForOutgoingCall(0);
+        final MockInCallService inCallService = mInCallCallbacks.getService();
+        final Call call1 = inCallService.getLastCall();
+        assertCallState(call1, Call.STATE_DIALING);
+
+        connection1.setActive();
+
+        assertCallState(call1, Call.STATE_ACTIVE);
+
+        List<Call> calls = inCallService.getCalls();
+        assertEquals("InCallService.getCalls() should return list with 1 call.", 1, calls.size());
+        assertEquals(call1, calls.get(0));
+
+        addAndVerifyNewIncomingCall(getTestNumber(), null);
+        verifyConnectionForIncomingCall();
+
+        final Call call2 = inCallService.getLastCall();
+        calls = inCallService.getCalls();
+        assertEquals("InCallService.getCalls() should return list with 2 calls.", 2, calls.size());
+        assertEquals(call1, calls.get(0));
+        assertEquals(call2, calls.get(1));
+    }
+
+    private void assertGetCannedTextResponsesNotEmpty(final Call call) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return true;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return call.getCannedTextResponses() != null
+                                && !call.getCannedTextResponses().isEmpty();
+                    }
+
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                "Call.getCannedTextResponses should not be empty");
+    }
+
+    private void assertCanAddCall(final InCallService inCallService, final boolean canAddCall,
+            String message) {
+        waitUntilConditionIsTrueOrTimeout(
+                new Condition() {
+                    @Override
+                    public Object expected() {
+                        return canAddCall;
+                    }
+
+                    @Override
+                    public Object actual() {
+                        return inCallService.canAddCall();
+                    }
+                },
+                WAIT_FOR_STATE_CHANGE_TIMEOUT_MS,
+                message
+        );
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/MockConference.java b/tests/tests/telecom/src/android/telecom/cts/MockConference.java
new file mode 100644
index 0000000..647d039
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/MockConference.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import android.telecom.Conference;
+import android.telecom.Connection;
+import android.telecom.DisconnectCause;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConference;
+import android.telecom.TelecomManager;
+
+/**
+ * {@link Conference} subclass that immediately performs any state changes that are a result of
+ * callbacks sent from Telecom.
+ */
+public class MockConference extends Conference {
+
+    private RemoteConference mRemoteConference = null;
+    private String mDtmfString = "";
+
+    public MockConference(PhoneAccountHandle phoneAccount) {
+        super(phoneAccount);
+    }
+
+    public MockConference(MockConnection a, MockConnection b) {
+        super(a.getPhoneAccountHandle());
+        addConnection(a);
+        addConnection(b);
+        // a is the primary connection, so inherit the properties from it.
+        setConnectionCapabilities(a.getConnectionCapabilities());
+        setStatusHints(a.getStatusHints());
+        setExtras(a.getExtras());
+    }
+
+    @Override
+    public void onDisconnect() {
+        super.onDisconnect();
+        for (Connection c : getConnections()) {
+            c.setDisconnected(new DisconnectCause(DisconnectCause.REMOTE));
+            c.destroy();
+        }
+        destroy();
+        if (mRemoteConference != null) {
+            mRemoteConference.disconnect();
+        }
+    }
+
+    @Override
+    public void onSeparate(Connection connection) {
+        super.onSeparate(connection);
+        if (getConnections().contains(connection)) {
+            removeConnection(connection);
+        }
+        if (mRemoteConference != null) {
+            mRemoteConference.separate(((MockConnection)connection).getRemoteConnection());
+        }
+    }
+
+    @Override
+    public void onMerge() {
+        super.onMerge();
+        // Let's just change the connection display name for testing that onMerge was invoked.
+        for (Connection c : getConnections()) {
+            c.setCallerDisplayName(
+                    TestUtils.MERGE_CALLER_NAME, TelecomManager.PRESENTATION_ALLOWED);
+        }
+        if (mRemoteConference != null) {
+            mRemoteConference.merge();
+        }
+    }
+
+    @Override
+    public void onSwap() {
+        super.onSwap();
+        // Let's just change the connection display name for testing that onSwap was invoked.
+        for (Connection c : getConnections()) {
+            c.setCallerDisplayName(
+                    TestUtils.SWAP_CALLER_NAME, TelecomManager.PRESENTATION_ALLOWED);
+        }
+        if (mRemoteConference != null) {
+            mRemoteConference.swap();
+        }
+    }
+
+    @Override
+    public void onHold() {
+        super.onHold();
+        for (Connection c : getConnections()) {
+            c.setOnHold();
+        }
+        setOnHold();
+        if (mRemoteConference != null) {
+            mRemoteConference.hold();
+        }
+    }
+
+    @Override
+    public void onUnhold() {
+        super.onUnhold();
+        for (Connection c : getConnections()) {
+            c.setActive();
+        }
+        setActive();
+        if (mRemoteConference != null) {
+            mRemoteConference.unhold();
+        }
+    }
+
+    @Override
+    public void onPlayDtmfTone(char c) {
+        super.onPlayDtmfTone(c);
+        mDtmfString += c;
+        if (mRemoteConference != null) {
+            mRemoteConference.playDtmfTone(c);
+        }
+    }
+
+    @Override
+    public void onStopDtmfTone() {
+        super.onStopDtmfTone();
+        mDtmfString += ".";
+        if (mRemoteConference != null) {
+            mRemoteConference.stopDtmfTone();
+        }
+    }
+
+    public void setRemoteConference(RemoteConference remoteConference) {
+        mRemoteConference = remoteConference;
+    }
+
+    public RemoteConference getRemoteConference() {
+        return mRemoteConference;
+    }
+
+    public String getDtmfString() {
+        return mDtmfString;
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/MockConnection.java b/tests/tests/telecom/src/android/telecom/cts/MockConnection.java
index bf9d730..d556baa 100644
--- a/tests/tests/telecom/src/android/telecom/cts/MockConnection.java
+++ b/tests/tests/telecom/src/android/telecom/cts/MockConnection.java
@@ -20,14 +20,18 @@
 import android.telecom.CallAudioState;
 import android.telecom.Connection;
 import android.telecom.DisconnectCause;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConnection;
 import android.telecom.VideoProfile;
-import android.util.Log;
+import android.telecom.cts.BaseTelecomTestWithMockServices.InvokeCounter;
+import android.util.SparseArray;
 
 /**
  * {@link Connection} subclass that immediately performs any state changes that are a result of
  * callbacks sent from Telecom.
  */
 public class MockConnection extends Connection {
+    public static final int ON_POST_DIAL_WAIT = 1;
 
     private CallAudioState mCallAudioState =
             new CallAudioState(false, CallAudioState.ROUTE_EARPIECE, ROUTE_EARPIECE | ROUTE_SPEAKER);
@@ -35,63 +39,112 @@
     public int videoState = VideoProfile.STATE_AUDIO_ONLY;
     private String mDtmfString = "";
     private MockVideoProvider mMockVideoProvider;
+    private PhoneAccountHandle mPhoneAccountHandle;
+    private RemoteConnection mRemoteConnection = null;
+
+    private SparseArray<InvokeCounter> mInvokeCounterMap = new SparseArray<>(10);
 
     @Override
     public void onAnswer() {
-        onAnswer(VideoProfile.STATE_AUDIO_ONLY);
+        super.onAnswer();
     }
 
     @Override
     public void onAnswer(int videoState) {
+        super.onAnswer(videoState);
         this.videoState = videoState;
         setActive();
+        if (mRemoteConnection != null) {
+            mRemoteConnection.answer();
+        }
     }
 
     @Override
     public void onReject() {
+        super.onReject();
         setDisconnected(new DisconnectCause(DisconnectCause.REJECTED));
+        if (mRemoteConnection != null) {
+            mRemoteConnection.reject();
+        }
     }
 
     @Override
     public void onHold() {
+        super.onHold();
         setOnHold();
+        if (mRemoteConnection != null) {
+            mRemoteConnection.hold();
+        }
     }
 
     @Override
     public void onUnhold() {
+        super.onUnhold();
         setActive();
+        if (mRemoteConnection != null) {
+            mRemoteConnection.unhold();
+        }
     }
 
     @Override
     public void onDisconnect() {
+        super.onDisconnect();
         setDisconnected(new DisconnectCause(DisconnectCause.LOCAL));
         destroy();
+        if (mRemoteConnection != null) {
+            mRemoteConnection.disconnect();
+        }
     }
 
     @Override
     public void onAbort() {
+        super.onAbort();
+        if (mRemoteConnection != null) {
+            mRemoteConnection.abort();
+        }
     }
 
     @Override
     public void onPlayDtmfTone(char c) {
+        super.onPlayDtmfTone(c);
         mDtmfString += c;
+        if (mRemoteConnection != null) {
+            mRemoteConnection.playDtmfTone(c);
+        }
     }
 
     @Override
     public void onStopDtmfTone() {
+        super.onStopDtmfTone();
         mDtmfString += ".";
+        if (mRemoteConnection != null) {
+            mRemoteConnection.stopDtmfTone();
+        }
     }
 
     @Override
     public void onCallAudioStateChanged(CallAudioState state) {
+        super.onCallAudioStateChanged(state);
         mCallAudioState = state;
+        if (mRemoteConnection != null) {
+            mRemoteConnection.setCallAudioState(state);
+        }
     }
 
     @Override
     public void onStateChanged(int state) {
+        super.onStateChanged(state);
         mState = state;
     }
 
+    @Override
+    public void onPostDialContinue(boolean proceed) {
+        super.onPostDialContinue(proceed);
+        if (mInvokeCounterMap.get(ON_POST_DIAL_WAIT) != null) {
+            mInvokeCounterMap.get(ON_POST_DIAL_WAIT).invoke(proceed);
+        }
+    }
+
     public int getCurrentState()  {
         return mState;
     }
@@ -104,6 +157,14 @@
         return mDtmfString;
     }
 
+    public InvokeCounter getInvokeCounter(int counterIndex) {
+        if (mInvokeCounterMap.get(counterIndex) == null) {
+            mInvokeCounterMap.put(counterIndex,
+                    new InvokeCounter(getCounterLabel(counterIndex)));
+        }
+        return mInvokeCounterMap.get(counterIndex);
+    }
+
     /**
      * Creates a mock video provider for this connection.
      */
@@ -144,4 +205,29 @@
     public MockVideoProvider getMockVideoProvider() {
         return mMockVideoProvider;
     }
+
+    public void setPhoneAccountHandle(PhoneAccountHandle handle)  {
+        mPhoneAccountHandle = handle;
+    }
+
+    public PhoneAccountHandle getPhoneAccountHandle()  {
+        return mPhoneAccountHandle;
+    }
+
+    public void setRemoteConnection(RemoteConnection remoteConnection)  {
+        mRemoteConnection = remoteConnection;
+    }
+
+    public RemoteConnection getRemoteConnection()  {
+        return mRemoteConnection;
+    }
+
+    private static String getCounterLabel(int counterIndex) {
+        switch (counterIndex) {
+            case ON_POST_DIAL_WAIT:
+                return "onPostDialWait";
+            default:
+                return "Callback";
+        }
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/MockConnectionService.java b/tests/tests/telecom/src/android/telecom/cts/MockConnectionService.java
index 250f197..ad64e5c 100644
--- a/tests/tests/telecom/src/android/telecom/cts/MockConnectionService.java
+++ b/tests/tests/telecom/src/android/telecom/cts/MockConnectionService.java
@@ -18,9 +18,14 @@
 
 import android.telecom.Connection;
 import android.telecom.ConnectionRequest;
+import android.telecom.ConnectionService;
 import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConference;
+import android.telecom.RemoteConnection;
 import android.telecom.TelecomManager;
 
+import java.util.ArrayList;
+import java.util.List;
 import java.util.concurrent.Semaphore;
 
 /**
@@ -28,7 +33,7 @@
  * of Telecom CTS tests that simply require that a outgoing call is placed, or incoming call is
  * received.
  */
-public class MockConnectionService extends CtsConnectionService {
+public class MockConnectionService extends ConnectionService {
     public static final int CONNECTION_PRESENTATION =  TelecomManager.PRESENTATION_ALLOWED;
 
     /**
@@ -39,14 +44,18 @@
     private boolean mCreateVideoProvider = true;
 
     public Semaphore lock = new Semaphore(0);
-    public MockConnection outgoingConnection;
-    public MockConnection incomingConnection;
+    public List<MockConnection> outgoingConnections = new ArrayList<MockConnection>();
+    public List<MockConnection> incomingConnections = new ArrayList<MockConnection>();
+    public List<RemoteConnection> remoteConnections = new ArrayList<RemoteConnection>();
+    public List<MockConference> conferences = new ArrayList<MockConference>();
+    public List<RemoteConference> remoteConferences = new ArrayList<RemoteConference>();
 
     @Override
     public Connection onCreateOutgoingConnection(PhoneAccountHandle connectionManagerPhoneAccount,
             ConnectionRequest request) {
         final MockConnection connection = new MockConnection();
         connection.setAddress(request.getAddress(), CONNECTION_PRESENTATION);
+        connection.setPhoneAccountHandle(connectionManagerPhoneAccount);
         if (mCreateVideoProvider) {
             connection.createMockVideoProvider();
         } else {
@@ -54,7 +63,7 @@
         }
         connection.setVideoState(request.getVideoState());
 
-        outgoingConnection = connection;
+        outgoingConnections.add(connection);
         lock.release();
         return connection;
     }
@@ -65,13 +74,37 @@
         final MockConnection connection = new MockConnection();
         connection.setAddress(request.getAddress(), CONNECTION_PRESENTATION);
         connection.createMockVideoProvider();
-        connection.setVideoState(request.getVideoState());
+        ((Connection) connection).setVideoState(request.getVideoState());
 
-        incomingConnection = connection;
+        incomingConnections.add(connection);
         lock.release();
         return connection;
     }
 
+    @Override
+    public void onConference(Connection connection1, Connection connection2) {
+        // Make sure that these connections are already not conferenced.
+        if (connection1.getConference() == null && connection2.getConference() == null) {
+            MockConference conference = new MockConference(
+                    (MockConnection)connection1, (MockConnection)connection2);
+            CtsConnectionService.addConferenceToTelecom(conference);
+            conferences.add(conference);
+            lock.release();
+        }
+    }
+
+    @Override
+    public void onRemoteExistingConnectionAdded(RemoteConnection connection) {
+        // Keep track of the remote connections added to the service
+        remoteConnections.add(connection);
+    }
+
+    @Override
+    public void onRemoteConferenceAdded(RemoteConference conference) {
+        // Keep track of the remote connections added to the service
+        remoteConferences.add(conference);
+    }
+
     public void setCreateVideoProvider(boolean createVideoProvider) {
         mCreateVideoProvider = createVideoProvider;
     }
diff --git a/tests/tests/telecom/src/android/telecom/cts/MockInCallService.java b/tests/tests/telecom/src/android/telecom/cts/MockInCallService.java
index e725466..1856603 100644
--- a/tests/tests/telecom/src/android/telecom/cts/MockInCallService.java
+++ b/tests/tests/telecom/src/android/telecom/cts/MockInCallService.java
@@ -17,6 +17,7 @@
 package android.telecom.cts;
 
 import android.telecom.Call;
+import android.telecom.CallAudioState;
 import android.telecom.InCallService;
 import android.util.ArrayMap;
 
@@ -27,6 +28,7 @@
 
 public class MockInCallService extends InCallService {
     private ArrayList<Call> mCalls = new ArrayList<>();
+    private ArrayList<Call> mConferenceCalls = new ArrayList<>();
     private static InCallServiceCallbacks sCallbacks;
     private Map<Call, MockVideoCallCallback> mVideoCallCallbacks =
             new ArrayMap<Call, MockVideoCallCallback>();
@@ -40,6 +42,16 @@
         public void onCallAdded(Call call, int numCalls) {};
         public void onCallRemoved(Call call, int numCalls) {};
         public void onCallStateChanged(Call call, int state) {};
+        public void onParentChanged(Call call, Call parent) {};
+        public void onChildrenChanged(Call call, List<Call> children) {};
+        public void onConferenceableCallsChanged(Call call, List<Call> conferenceableCalls) {};
+        public void onCallDestroyed(Call call) {};
+        public void onDetailsChanged(Call call, Call.Details details) {};
+        public void onCanAddCallsChanged(boolean canAddCalls) {}
+        public void onBringToForeground(boolean showDialpad) {}
+        public void onCallAudioStateChanged(CallAudioState audioState) {}
+        public void onPostDialWait(Call call, String remainingPostDialSequence) {}
+        public void onCannedTextResponsesLoaded(Call call, List<String> cannedTextResponses) {}
 
         final public MockInCallService getService() {
             return mService;
@@ -68,6 +80,62 @@
             super.onVideoCallChanged(call, videoCall);
             saveVideoCall(call, videoCall);
         }
+
+        @Override
+        public void onParentChanged(Call call, Call parent) {
+            super.onParentChanged(call, parent);
+            if (getCallbacks() != null) {
+                getCallbacks().onParentChanged(call, parent);
+            }
+        }
+
+        @Override
+        public void onChildrenChanged(Call call, List<Call> children) {
+            super.onChildrenChanged(call, children);
+            if (getCallbacks() != null) {
+                getCallbacks().onChildrenChanged(call, children);
+            }
+        }
+
+        @Override
+        public void onConferenceableCallsChanged(Call call, List<Call> conferenceableCalls) {
+            super.onConferenceableCallsChanged(call, conferenceableCalls);
+            if (getCallbacks() != null) {
+                getCallbacks().onConferenceableCallsChanged(call, conferenceableCalls);
+            }
+        }
+
+        @Override
+        public void onCallDestroyed(Call call) {
+            super.onCallDestroyed(call);
+            if (getCallbacks() != null) {
+                getCallbacks().onCallDestroyed(call);
+            }
+        }
+
+        @Override
+        public void onDetailsChanged(Call call, Call.Details details) {
+            super.onDetailsChanged(call, details);
+            if (getCallbacks() != null) {
+                getCallbacks().onDetailsChanged(call, details);
+            }
+        }
+
+        @Override
+        public void onPostDialWait(Call call, String remainingPostDialSequence) {
+            super.onPostDialWait(call, remainingPostDialSequence);
+            if (getCallbacks() != null) {
+                getCallbacks().onPostDialWait(call, remainingPostDialSequence);
+            }
+        }
+
+        @Override
+        public void onCannedTextResponsesLoaded(Call call, List<String> cannedTextResponses) {
+            super.onCannedTextResponsesLoaded(call, cannedTextResponses);
+            if (getCallbacks() != null) {
+                getCallbacks().onCannedTextResponsesLoaded(call, cannedTextResponses);
+            }
+        }
     };
 
     private void saveVideoCall(Call call, VideoCall videoCall) {
@@ -93,30 +161,64 @@
     @Override
     public void onCallAdded(Call call) {
         super.onCallAdded(call);
-        if (!mCalls.contains(call)) {
-            mCalls.add(call);
-            call.registerCallback(mCallCallback);
-
-            VideoCall videoCall = call.getVideoCall();
-            if (videoCall != null) {
-                saveVideoCall(call, videoCall);
+        if (call.getDetails().hasProperty(Call.Details.PROPERTY_CONFERENCE) == true) {
+            if (!mConferenceCalls.contains(call)) {
+                mConferenceCalls.add(call);
+                call.registerCallback(mCallCallback);
+            }
+        } else {
+            if (!mCalls.contains(call)) {
+                mCalls.add(call);
+                call.registerCallback(mCallCallback);
+                VideoCall videoCall = call.getVideoCall();
+                if (videoCall != null) {
+                    saveVideoCall(call, videoCall);
+                }
             }
         }
         if (getCallbacks() != null) {
-            getCallbacks().onCallAdded(call, mCalls.size());
+            getCallbacks().onCallAdded(call, mCalls.size() + mConferenceCalls.size());
         }
     }
 
     @Override
     public void onCallRemoved(Call call) {
         super.onCallRemoved(call);
-        mCalls.remove(call);
+        if (call.getDetails().hasProperty(Call.Details.PROPERTY_CONFERENCE) == true) {
+            mConferenceCalls.remove(call);
+        } else {
+            mCalls.remove(call);
+        }
         if (getCallbacks() != null) {
-            getCallbacks().onCallRemoved(call, mCalls.size());
+            getCallbacks().onCallRemoved(call, mCalls.size() + mConferenceCalls.size());
             saveVideoCall(call, null /* remove videoCall */);
         }
     }
 
+    @Override
+    public void onCanAddCallChanged(boolean canAddCall) {
+        super.onCanAddCallChanged(canAddCall);
+        if (getCallbacks() != null) {
+            getCallbacks().onCanAddCallsChanged(canAddCall);
+        }
+    }
+
+    @Override
+    public void onBringToForeground(boolean showDialpad) {
+        super.onBringToForeground(showDialpad);
+        if (getCallbacks() != null) {
+            getCallbacks().onBringToForeground(showDialpad);
+        }
+    }
+
+    @Override
+    public void onCallAudioStateChanged(CallAudioState audioState) {
+        super.onCallAudioStateChanged(audioState);
+        if (getCallbacks() != null) {
+            getCallbacks().onCallAudioStateChanged(audioState);
+        }
+    }
+
     /**
      * @return the number of calls currently added to the {@code InCallService}.
      */
@@ -125,15 +227,32 @@
     }
 
     /**
+     * @return the number of conference calls currently added to the {@code InCallService}.
+     */
+    public int getConferenceCallCount() {
+        return mConferenceCalls.size();
+    }
+
+    /**
      * @return the most recently added call that exists inside the {@code InCallService}
      */
     public Call getLastCall() {
-        if (mCalls.size() >= 1) {
+        if (!mCalls.isEmpty()) {
             return mCalls.get(mCalls.size() - 1);
         }
         return null;
     }
 
+    /**
+     * @return the most recently added conference call that exists inside the {@code InCallService}
+     */
+    public Call getLastConferenceCall() {
+        if (!mConferenceCalls.isEmpty()) {
+            return mConferenceCalls.get(mConferenceCalls.size() - 1);
+        }
+        return null;
+    }
+
     public void disconnectLastCall() {
         final Call call = getLastCall();
         if (call != null) {
@@ -141,6 +260,25 @@
         }
     }
 
+    public void disconnectLastConferenceCall() {
+        final Call call = getLastConferenceCall();
+        if (call != null) {
+            call.disconnect();
+        }
+    }
+
+    public void disconnectAllCalls() {
+        for (final Call call: mCalls) {
+            call.disconnect();
+        }
+    }
+
+    public void disconnectAllConferenceCalls() {
+        for (final Call call: mConferenceCalls) {
+            call.disconnect();
+        }
+    }
+
     public static void setCallbacks(InCallServiceCallbacks callbacks) {
         synchronized (sLock) {
             sCallbacks = callbacks;
diff --git a/tests/tests/telecom/src/android/telecom/cts/MockVideoProvider.java b/tests/tests/telecom/src/android/telecom/cts/MockVideoProvider.java
index 8ed422f..a1b6b65 100644
--- a/tests/tests/telecom/src/android/telecom/cts/MockVideoProvider.java
+++ b/tests/tests/telecom/src/android/telecom/cts/MockVideoProvider.java
@@ -87,7 +87,7 @@
      */
     @Override
     public void onSendSessionModifyRequest(VideoProfile fromProfile, VideoProfile toProfile) {
-        receiveSessionModifyResponse(Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS,
+        super.receiveSessionModifyResponse(Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS,
                 toProfile, toProfile);
         mMockConnection.setVideoState(toProfile.getVideoState());
     }
@@ -111,7 +111,7 @@
      */
     @Override
     public void onRequestConnectionDataUsage() {
-        setCallDataUsage(DATA_USAGE);
+        super.setCallDataUsage(DATA_USAGE);
     }
 
     @Override
@@ -126,11 +126,11 @@
     private void handleCameraChange(String cameraId) {
         mCameraId = cameraId;
         if (CAMERA_FRONT.equals(mCameraId)) {
-            changeCameraCapabilities(new VideoProfile.CameraCapabilities(CAMERA_FRONT_DIMENSIONS,
-                    CAMERA_FRONT_DIMENSIONS));
+            super.changeCameraCapabilities(new VideoProfile.CameraCapabilities(
+                    CAMERA_FRONT_DIMENSIONS, CAMERA_FRONT_DIMENSIONS));
         } else if (CAMERA_BACK.equals(mCameraId)) {
-            changeCameraCapabilities(new VideoProfile.CameraCapabilities(CAMERA_BACK_DIMENSIONS,
-                    CAMERA_BACK_DIMENSIONS));
+            super.changeCameraCapabilities(new VideoProfile.CameraCapabilities(
+                    CAMERA_BACK_DIMENSIONS, CAMERA_BACK_DIMENSIONS));
         }
     }
 
@@ -140,7 +140,7 @@
      * @param videoQuality The video quality.
      */
     public void sendMockVideoQuality(int videoQuality) {
-        changeVideoQuality(videoQuality);
+        super.changeVideoQuality(videoQuality);
     }
 
     /**
@@ -149,7 +149,7 @@
      * @param event The call session event.
      */
     public void sendMockCallSessionEvent(int event) {
-        handleCallSessionEvent(event);
+        super.handleCallSessionEvent(event);
     }
 
     /**
@@ -158,7 +158,7 @@
      * @param width The peer width.
      */
     public void sendMockPeerWidth(int width) {
-        changePeerDimensions(width, width);
+        super.changePeerDimensions(width, width);
     }
 
     /**
@@ -167,7 +167,7 @@
      * @param request The requested profile.
      */
     public void sendMockSessionModifyRequest(VideoProfile request) {
-        receiveSessionModifyRequest(request);
+        super.receiveSessionModifyRequest(request);
     }
 
     public int getDeviceOrientation() {
diff --git a/tests/tests/telecom/src/android/telecom/cts/NumberDialingTest.java b/tests/tests/telecom/src/android/telecom/cts/NumberDialingTest.java
index 673013f..8ffcf48 100644
--- a/tests/tests/telecom/src/android/telecom/cts/NumberDialingTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/NumberDialingTest.java
@@ -35,7 +35,7 @@
     private static final int CS_WAIT_MILLIS = 2000;
 
     public void testEndInPound() throws Exception {
-        if (!shouldTestTelecom(mContext)) {
+        if (!mShouldTestTelecom) {
             return;
         }
 
@@ -63,6 +63,6 @@
         }
         assertEquals(address, res[0]);
 
-        tearDownConnectionService(account);
+        tearDownConnectionService(account.getAccountHandle());
     }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/OutgoingCallTest.java b/tests/tests/telecom/src/android/telecom/cts/OutgoingCallTest.java
index b1c77fd..f2422c9 100644
--- a/tests/tests/telecom/src/android/telecom/cts/OutgoingCallTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/OutgoingCallTest.java
@@ -30,7 +30,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        if (TestUtils.shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             setupConnectionService(null, FLAG_REGISTER | FLAG_ENABLE);
         }
     }
@@ -52,6 +52,10 @@
      * @see {@link TelecomManager#EXTRA_START_CALL_WITH_SPEAKERPHONE}
      */
     public void testStartCallWithSpeakerphoneTrue_SpeakerphoneOnInCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         final Bundle extras = new Bundle();
         extras.putBoolean(TelecomManager.EXTRA_START_CALL_WITH_SPEAKERPHONE, true);
         placeAndVerifyCall(extras);
@@ -60,6 +64,10 @@
     }
 
     public void testStartCallWithSpeakerphoneFalse_SpeakerphoneOffInCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         final Bundle extras = new Bundle();
         extras.putBoolean(TelecomManager.EXTRA_START_CALL_WITH_SPEAKERPHONE, false);
         placeAndVerifyCall(extras);
@@ -68,6 +76,10 @@
     }
 
     public void testStartCallWithSpeakerphoneNotProvided_SpeakerphoneOffByDefault() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall();
         verifyConnectionForOutgoingCall();
         assertAudioRoute(mInCallCallbacks.getService(), CallAudioState.ROUTE_EARPIECE);
diff --git a/tests/tests/telecom/src/android/telecom/cts/PhoneAccountOperationsTest.java b/tests/tests/telecom/src/android/telecom/cts/PhoneAccountOperationsTest.java
index fd554ef..cc03288 100644
--- a/tests/tests/telecom/src/android/telecom/cts/PhoneAccountOperationsTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/PhoneAccountOperationsTest.java
@@ -40,23 +40,37 @@
             new PhoneAccountHandle(new ComponentName(PACKAGE, COMPONENT), ACCOUNT_ID);
 
     public static final PhoneAccount TEST_SIM_PHONE_ACCOUNT = PhoneAccount.builder(
-            TEST_PHONE_ACCOUNT_HANDLE, LABEL)
+            TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
             .setAddress(Uri.parse("tel:555-TEST"))
             .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
             .setCapabilities(PhoneAccount.CAPABILITY_SIM_SUBSCRIPTION)
             .setHighlightColor(Color.RED)
-            .setShortDescription(LABEL)
-            .setSupportedUriSchemes(Arrays.asList("tel"))
+            .setShortDescription(ACCOUNT_LABEL)
+            .setSupportedUriSchemes(Arrays.asList(PhoneAccount.SCHEME_TEL))
             .build();
 
     public static final PhoneAccount TEST_NO_SIM_PHONE_ACCOUNT = PhoneAccount.builder(
-            TEST_PHONE_ACCOUNT_HANDLE, LABEL)
+            TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
             .setAddress(Uri.parse("tel:555-TEST"))
             .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
-            .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
+            .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER |
+                    PhoneAccount.CAPABILITY_VIDEO_CALLING)
             .setHighlightColor(Color.RED)
-            .setShortDescription(LABEL)
-            .setSupportedUriSchemes(Arrays.asList("tel"))
+            .setShortDescription(ACCOUNT_LABEL)
+            .setSupportedUriSchemes(Arrays.asList(
+                    PhoneAccount.SCHEME_TEL, PhoneAccount.SCHEME_VOICEMAIL))
+            .build();
+
+    public static final PhoneAccount TEST_CALL_MANAGER_PHONE_ACCOUNT = PhoneAccount.builder(
+            TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
+            .setAddress(Uri.parse("tel:555-TEST"))
+            .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
+            .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER |
+                    PhoneAccount.CAPABILITY_CONNECTION_MANAGER)
+            .setHighlightColor(Color.RED)
+            .setShortDescription(ACCOUNT_LABEL)
+            .setSupportedUriSchemes(Arrays.asList(
+                    PhoneAccount.SCHEME_TEL, PhoneAccount.SCHEME_VOICEMAIL))
             .build();
 
     private Context mContext;
@@ -74,6 +88,9 @@
 
     @Override
     protected void tearDown() throws Exception {
+        if (!TestUtils.shouldTestTelecom(mContext)) {
+            return;
+        }
         mTelecomManager.unregisterPhoneAccount(TEST_PHONE_ACCOUNT_HANDLE);
         PhoneAccount retrievedPhoneAccount = mTelecomManager.getPhoneAccount(
                 TEST_PHONE_ACCOUNT_HANDLE);
@@ -113,12 +130,12 @@
         }
         Method setIsEnabled = null;
         PhoneAccount.Builder phoneAccountBuilder = PhoneAccount.builder(
-                TEST_PHONE_ACCOUNT_HANDLE, LABEL)
+                TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
                 .setAddress(Uri.parse("tel:555-TEST"))
                 .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
                 .setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
                 .setHighlightColor(Color.RED)
-                .setShortDescription(LABEL)
+                .setShortDescription(ACCOUNT_LABEL)
                 .setSupportedUriSchemes(Arrays.asList("tel"));
         try {
             setIsEnabled = PhoneAccount.Builder.class.getDeclaredMethod(
@@ -151,9 +168,33 @@
         final List<PhoneAccountHandle> newAccounts = mTelecomManager.getCallCapablePhoneAccounts();
         assertNotNull("No enabled Phone account found.", newAccounts);
         assertEquals("1 new enabled Phone account expected.", newAccounts.size(),
-                oldAccountsListSize+1);
+                oldAccountsListSize + 1);
         assertTrue("Enabled Phone accounts do not contain the test account.",
                 newAccounts.contains(TEST_PHONE_ACCOUNT_HANDLE));
     }
 
+    public void testRegisterPhoneAccount_CheckCapabilities() throws Exception {
+        if (!shouldTestTelecom(mContext)) {
+            return;
+        }
+        mTelecomManager.registerPhoneAccount(TEST_NO_SIM_PHONE_ACCOUNT);
+        PhoneAccount retrievedPhoneAccount = mTelecomManager.getPhoneAccount(
+                TEST_PHONE_ACCOUNT_HANDLE);
+        assertTrue("Phone account should have call provider & video calling capability.",
+                retrievedPhoneAccount.hasCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER |
+                        PhoneAccount.CAPABILITY_VIDEO_CALLING));
+    }
+
+    public void testRegisterPhoneAccount_CheckURISchemeSupported() throws Exception {
+        if (!shouldTestTelecom(mContext)) {
+            return;
+        }
+        mTelecomManager.registerPhoneAccount(TEST_NO_SIM_PHONE_ACCOUNT);
+        PhoneAccount retrievedPhoneAccount = mTelecomManager.getPhoneAccount(
+                TEST_PHONE_ACCOUNT_HANDLE);
+        assertTrue("Phone account should support tel URI scheme.",
+                retrievedPhoneAccount.supportsUriScheme(PhoneAccount.SCHEME_TEL));
+        assertTrue("Phone account should support voicemail URI scheme.",
+                retrievedPhoneAccount.supportsUriScheme(PhoneAccount.SCHEME_VOICEMAIL));
+    }
 }
diff --git a/tests/tests/telecom/src/android/telecom/cts/RemoteConferenceTest.java b/tests/tests/telecom/src/android/telecom/cts/RemoteConferenceTest.java
new file mode 100644
index 0000000..3fc65ea
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/RemoteConferenceTest.java
@@ -0,0 +1,586 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.*;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.telecom.Call;
+import android.telecom.Connection;
+import android.telecom.ConnectionRequest;
+import android.telecom.DisconnectCause;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConference;
+import android.telecom.RemoteConnection;
+import android.telecom.TelecomManager;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Extended suite of tests that use {@link CtsConnectionService} and {@link MockInCallService} to
+ * verify the functionality of Remote Conferences.
+ * We make 2 connections on the {@link CtsConnectionService} & we create 2 connections on the
+ * {@link CtsRemoteConnectionService} via the {@link RemoteConnection} object. We store this
+ * corresponding RemoteConnection object on the connections to plumb the modifications on
+ * the connections in {@link CtsConnectionService} to the connections on
+ * {@link CtsRemoteConnectionService}. Then we create a remote conference on the
+ * {@link CtsRemoteConnectionService} and control it via the {@link RemoteConference}
+ * object. The onConference method on the managerConnectionService will initiate a remote conference
+ * creation on the remoteConnectionService and once that is completed, we create a local conference
+ * on the managerConnectionService.
+ */
+public class RemoteConferenceTest extends BaseRemoteTelecomTest {
+
+    public static final int CONF_CAPABILITIES = Connection.CAPABILITY_SEPARATE_FROM_CONFERENCE |
+            Connection.CAPABILITY_DISCONNECT_FROM_CONFERENCE | Connection.CAPABILITY_HOLD |
+            Connection.CAPABILITY_MERGE_CONFERENCE | Connection.CAPABILITY_SWAP_CONFERENCE;
+
+    MockConnection mConnection1, mConnection2;
+    MockConnection mRemoteConnection1, mRemoteConnection2;
+    Call mCall1, mCall2;
+    MockConference mConference, mRemoteConference;
+    RemoteConference mRemoteConferenceObject;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getContext();
+        if (mShouldTestTelecom) {
+            addRemoteConferenceCall();
+            verifyRemoteConferenceObject(mRemoteConferenceObject, mRemoteConference, mConference);
+        }
+    }
+
+    public void testRemoteConferenceCreate() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        if (mCall1.getParent() != confCall || mCall2.getParent() != confCall) {
+            fail("The 2 participating calls should contain the conference call as its parent");
+        }
+        if (!(confCall.getChildren().contains(mCall1) && confCall.getChildren().contains(mCall2))) {
+            fail("The conference call should contain the 2 participating calls as its children");
+        }
+
+        assertConnectionState(mConnection1, Connection.STATE_ACTIVE);
+        assertConnectionState(mConnection2, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection1, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection2, Connection.STATE_ACTIVE);
+        assertConferenceState(mConference, Connection.STATE_ACTIVE);
+        assertConferenceState(mRemoteConference, Connection.STATE_ACTIVE);
+        assertRemoteConferenceState(mRemoteConferenceObject, Connection.STATE_ACTIVE);
+    }
+
+    public void testRemoteConferenceSplit() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        if (!(mCall1.getParent() == confCall) && (confCall.getChildren().contains(mCall1))) {
+            fail("Call 1 not conferenced");
+        }
+        assertTrue(mConference.getConnections().contains(mConnection1));
+        assertTrue(mRemoteConference.getConnections().contains(mRemoteConnection1));
+
+        splitFromConferenceCall(mCall1);
+
+        if ((mCall1.getParent() == confCall) || (confCall.getChildren().contains(mCall1))) {
+            fail("Call 1 should not be still conferenced");
+        }
+        assertFalse(mConference.getConnections().contains(mConnection1));
+        assertFalse(mRemoteConference.getConnections().contains(mRemoteConnection1));
+    }
+
+    public void testRemoteConferenceHoldAndUnhold() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        confCall.hold();
+        assertCallState(confCall, Call.STATE_HOLDING);
+        assertCallState(mCall1, Call.STATE_HOLDING);
+        assertCallState(mCall2, Call.STATE_HOLDING);
+        assertConnectionState(mConnection1, Connection.STATE_HOLDING);
+        assertConnectionState(mConnection2, Connection.STATE_HOLDING);
+        assertConnectionState(mRemoteConnection1, Connection.STATE_HOLDING);
+        assertConnectionState(mRemoteConnection2, Connection.STATE_HOLDING);
+        assertConferenceState(mConference, Connection.STATE_HOLDING);
+        assertConferenceState(mRemoteConference, Connection.STATE_HOLDING);
+        assertRemoteConferenceState(mRemoteConferenceObject, Connection.STATE_HOLDING);
+
+        confCall.unhold();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+        assertCallState(mCall1, Call.STATE_ACTIVE);
+        assertCallState(mCall2, Call.STATE_ACTIVE);
+        assertConnectionState(mConnection1, Connection.STATE_ACTIVE);
+        assertConnectionState(mConnection2, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection1, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection2, Connection.STATE_ACTIVE);
+        assertConferenceState(mConference, Connection.STATE_ACTIVE);
+        assertConferenceState(mRemoteConference, Connection.STATE_ACTIVE);
+        assertRemoteConferenceState(mRemoteConferenceObject, Connection.STATE_ACTIVE);
+    }
+
+    public void testRemoteConferenceMergeAndSwap() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        confCall.mergeConference();
+        assertCallDisplayName(mCall1, TestUtils.MERGE_CALLER_NAME);
+        assertCallDisplayName(mCall2, TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mConnection1,
+                TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mConnection2,
+                TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mRemoteConnection1,
+                TestUtils.MERGE_CALLER_NAME);
+        assertConnectionCallDisplayName(mRemoteConnection2,
+                TestUtils.MERGE_CALLER_NAME);
+
+        confCall.swapConference();
+        assertCallDisplayName(mCall1, TestUtils.SWAP_CALLER_NAME);
+        assertCallDisplayName(mCall2, TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mConnection1,
+                TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mConnection2,
+                TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mRemoteConnection1,
+                TestUtils.SWAP_CALLER_NAME);
+        assertConnectionCallDisplayName(mRemoteConnection2,
+                TestUtils.SWAP_CALLER_NAME);
+    }
+
+    public void testRemoteConferenceDTMFTone() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        assertTrue(mConference.getDtmfString().isEmpty());
+        assertTrue(mRemoteConference.getDtmfString().isEmpty());
+        confCall.playDtmfTone('1');
+        assertDtmfString(mConference, "1");
+        assertDtmfString(mRemoteConference, "1");
+        confCall.stopDtmfTone();
+        assertDtmfString(mConference, "1.");
+        assertDtmfString(mRemoteConference, "1.");
+        confCall.playDtmfTone('3');
+        assertDtmfString(mConference, "1.3");
+        assertDtmfString(mRemoteConference, "1.3");
+        confCall.stopDtmfTone();
+        assertDtmfString(mConference, "1.3.");
+        assertDtmfString(mRemoteConference, "1.3.");
+    }
+
+    public void testRemoteConferenceCallbacks_StateChange() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_StateChange");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onStateChanged(RemoteConference conference, int oldState, int newState) {
+                super.onStateChanged(conference, oldState, newState);
+                callbackInvoker.invoke(conference, oldState, newState);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        mRemoteConference.setOnHold();
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(Connection.STATE_ACTIVE, callbackInvoker.getArgs(0)[1]);
+        assertEquals(Connection.STATE_HOLDING, callbackInvoker.getArgs(0)[2]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_Disconnect() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_Disconnect");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onDisconnected(RemoteConference conference,
+                                       DisconnectCause disconnectCause) {
+                super.onDisconnected(conference, disconnectCause);
+                callbackInvoker.invoke(conference, disconnectCause);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        DisconnectCause cause = new DisconnectCause(DisconnectCause.LOCAL);
+        mRemoteConference.setDisconnected(cause);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(cause, callbackInvoker.getArgs(0)[1]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_ConnectionAdd() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_ConnectionAdd");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onConnectionAdded(RemoteConference conference,
+                                          RemoteConnection connection) {
+                super.onConnectionAdded(conference, connection);
+                callbackInvoker.invoke(conference, connection);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        placeAndVerifyCall();
+        RemoteConnection newRemoteConnectionObject =
+                verifyConnectionForOutgoingCall(1).getRemoteConnection();
+        MockConnection newConnection = verifyConnectionForOutgoingCallOnRemoteCS(2);
+        mRemoteConference.addConnection(newConnection);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        // No "equals" method in RemoteConnection
+        //assertEquals(newRemoteConnectionObject, callbackInvoker.getArgs(0)[1]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_ConnectionRemove() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_ConnectionRemove");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onConnectionRemoved(RemoteConference conference,
+                                            RemoteConnection connection) {
+                super.onConnectionRemoved(conference, connection);
+                callbackInvoker.invoke(conference, connection);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        placeAndVerifyCall();
+        RemoteConnection newRemoteConnectionObject =
+                verifyConnectionForOutgoingCall(1).getRemoteConnection();
+        MockConnection newConnection = verifyConnectionForOutgoingCallOnRemoteCS(2);
+        mRemoteConference.addConnection(newConnection);
+        mRemoteConference.removeConnection(newConnection);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        //assertEquals(newRemoteConnectionObject, callbackInvoker.getArgs(0)[1]);
+        // No "equals" method in RemoteConnection
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_ConnectionCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_ConnectionCapabilities");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onConnectionCapabilitiesChanged(
+                    RemoteConference conference,
+                    int connectionCapabilities) {
+                super.onConnectionCapabilitiesChanged(conference, connectionCapabilities);
+                callbackInvoker.invoke(conference, connectionCapabilities);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        int capabilities = mRemoteConference.getConnectionCapabilities() | Connection.CAPABILITY_MUTE;
+        mRemoteConference.setConnectionCapabilities(capabilities);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(capabilities, callbackInvoker.getArgs(0)[1]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_ConferenceableConnections() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_ConferenceableConnections");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onConferenceableConnectionsChanged(
+                    RemoteConference conference,
+                    List<RemoteConnection> conferenceableConnections) {
+                super.onConferenceableConnectionsChanged(conference, conferenceableConnections);
+                callbackInvoker.invoke(conference, conferenceableConnections);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        placeAndVerifyCall();
+        RemoteConnection newRemoteConnectionObject =
+            verifyConnectionForOutgoingCall(1).getRemoteConnection();
+        MockConnection newConnection = verifyConnectionForOutgoingCallOnRemoteCS(1);
+        ArrayList<Connection> confList = new ArrayList<>();
+        confList.add(newConnection);
+        mRemoteConference.setConferenceableConnections(confList);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        // No "equals" method in RemoteConnection
+        //assertTrue(((List<RemoteConnection>)callbackInvoker.getArgs(0)[1]).contains(
+                //newRemoteConnectionObject));
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_Destroy() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_Destroy");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onDestroyed(RemoteConference conference) {
+                super.onDestroyed(conference);
+                callbackInvoker.invoke(conference);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        mRemoteConference.destroy();
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConferenceCallbacks_Extras() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        Handler handler = setupRemoteConferenceCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConferenceCallbacks_Extras");
+        RemoteConference.Callback callback;
+
+        callback = new RemoteConference.Callback() {
+            @Override
+            public void onExtrasChanged(RemoteConference conference, Bundle extras) {
+                super.onExtrasChanged(conference, extras);
+                callbackInvoker.invoke(conference, extras);
+            }
+        };
+        mRemoteConferenceObject.registerCallback(callback, handler);
+        Bundle extras = new Bundle();
+        extras.putString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE, "Test");
+        mRemoteConference.setExtras(extras);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConferenceObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(extras, callbackInvoker.getArgs(0)[1]);
+        mRemoteConferenceObject.unregisterCallback(callback);
+    }
+
+    private void verifyRemoteConferenceObject(RemoteConference remoteConferenceObject,
+            MockConference remoteConference, MockConference conference) {
+        assertEquals(remoteConference.getConnectionCapabilities(),
+                remoteConferenceObject.getConnectionCapabilities());
+        assertTrue(remoteConferenceObject.getConferenceableConnections().isEmpty());
+        List<RemoteConnection> remoteConnections = new ArrayList<>();
+        for (Connection c: conference.getConnections()) {
+            remoteConnections.add(((MockConnection)c).getRemoteConnection());
+        }
+        assertEquals(remoteConnections, remoteConferenceObject.getConnections());
+        assertEquals(remoteConference.getDisconnectCause(), remoteConferenceObject.getDisconnectCause());
+        assertEquals(remoteConference.getExtras(), remoteConferenceObject.getExtras());
+    }
+
+    private void addRemoteConnectionOutgoingCalls() {
+        try {
+            MockConnectionService managerConnectionService = new MockConnectionService() {
+                @Override
+                public Connection onCreateOutgoingConnection(
+                        PhoneAccountHandle connectionManagerPhoneAccount,
+                        ConnectionRequest request) {
+                    MockConnection connection = (MockConnection)super.onCreateOutgoingConnection(
+                            connectionManagerPhoneAccount, request);
+                    ConnectionRequest remoteRequest = new ConnectionRequest(
+                            TEST_REMOTE_PHONE_ACCOUNT_HANDLE,
+                            request.getAddress(),
+                            request.getExtras());
+                    RemoteConnection remoteConnection =
+                            CtsConnectionService.createRemoteOutgoingConnectionToTelecom(
+                                    TEST_REMOTE_PHONE_ACCOUNT_HANDLE, remoteRequest);
+                    connection.setRemoteConnection(remoteConnection);
+                    // Modify the connection object created with local values.
+                    int capabilities = connection.getConnectionCapabilities();
+                    connection.setConnectionCapabilities(capabilities | CONF_CAPABILITIES);
+                    return connection;
+                }
+                @Override
+                public void onConference(Connection connection1, Connection connection2) {
+                    /**
+                     * Fetch the corresponding remoteConnection objects and instantiate a remote
+                     * conference creation on the remoteConnectionService instead of this
+                     * managerConnectionService.
+                     */
+                    RemoteConnection remoteConnection1 =
+                            ((MockConnection)connection1).getRemoteConnection();
+                    RemoteConnection remoteConnection2 =
+                            ((MockConnection)connection2).getRemoteConnection();
+                    if (remoteConnection1.getConference() == null &&
+                            remoteConnection2.getConference() == null) {
+                        conferenceRemoteConnections(remoteConnection1, remoteConnection2);
+                    }
+                }
+                @Override
+                public void onRemoteConferenceAdded(RemoteConference remoteConference) {
+                    /**
+                     * Now that the remote conference has been created,
+                     * let's create a local conference on this ConnectionService.
+                     */
+                    MockConference conference = new MockConference(mConnection1, mConnection2);
+                    conference.setRemoteConference(remoteConference);
+                    CtsConnectionService.addConferenceToTelecom(conference);
+                    conferences.add(conference);
+                    lock.release();
+                }
+            };
+            /**
+             * We want the conference to be instantiated on the remoteConnectionService registered
+             * with telecom.
+             */
+            MockConnectionService remoteConnectionService= new MockConnectionService() {
+                @Override
+                public Connection onCreateOutgoingConnection(
+                        PhoneAccountHandle connectionManagerPhoneAccount,
+                        ConnectionRequest request) {
+                    Connection connection = super.onCreateOutgoingConnection(
+                            connectionManagerPhoneAccount,
+                            request);
+                    // Modify the connection object created with local values.
+                    int capabilities = connection.getConnectionCapabilities();
+                    connection.setConnectionCapabilities(capabilities | CONF_CAPABILITIES);
+                    return connection;
+                }
+                @Override
+                public void onConference(Connection connection1, Connection connection2) {
+                    // Make sure that these connections are already not conferenced.
+                    if (connection1.getConference() == null &&
+                            connection2.getConference() == null) {
+                        MockConference conference = new MockConference(
+                                (MockConnection)connection1, (MockConnection)connection2);
+                        CtsRemoteConnectionService.addConferenceToTelecom(conference);
+                        conferences.add(conference);
+                        lock.release();
+                    }
+                }
+            };
+            setupConnectionServices(managerConnectionService, remoteConnectionService,
+                    FLAG_REGISTER | FLAG_ENABLE);
+        } catch(Exception e) {
+            fail("Error in setting up the connection services");
+        }
+
+        placeAndVerifyCall();
+        mConnection1 = verifyConnectionForOutgoingCall(0);
+        mRemoteConnection1 = verifyConnectionForOutgoingCallOnRemoteCS(0);
+        mCall1 = mInCallCallbacks.getService().getLastCall();
+        assertCallState(mCall1, Call.STATE_DIALING);
+        mConnection1.setActive();
+        mRemoteConnection1.setActive();
+        assertCallState(mCall1, Call.STATE_ACTIVE);
+
+        placeAndVerifyCall();
+        mConnection2 = verifyConnectionForOutgoingCall(1);
+        mRemoteConnection2 = verifyConnectionForOutgoingCallOnRemoteCS(1);
+        mCall2 = mInCallCallbacks.getService().getLastCall();
+        assertCallState(mCall2, Call.STATE_DIALING);
+        mConnection2.setActive();
+        mRemoteConnection2.setActive();
+        assertCallState(mCall2, Call.STATE_ACTIVE);
+
+        setAndVerifyConferenceablesForOutgoingConnection(0);
+        setAndVerifyConferenceablesForOutgoingConnection(1);
+        setAndVerifyConferenceablesForOutgoingConnectionOnRemoteCS(0);
+        setAndVerifyConferenceablesForOutgoingConnectionOnRemoteCS(1);
+    }
+
+    private void addRemoteConferenceCall() {
+        addRemoteConnectionOutgoingCalls();
+        /**
+         * We've 2 connections on the local connectionService which have 2 corresponding
+         * connections on the remoteConnectionService controlled via 2 RemoteConnection objects
+         * on the connectionService. We now create a conference on the local two connections
+         * which triggers a creation of conference on the remoteConnectionService via the
+         * RemoteConference object.
+         */
+
+        addConferenceCall(mCall1, mCall2);
+        mConference = verifyConferenceForOutgoingCall();
+        mRemoteConference = verifyConferenceForOutgoingCallOnRemoteCS();
+        mRemoteConferenceObject = mConference.getRemoteConference();
+        mRemoteConnection1 = (MockConnection)mRemoteConference.getConnections().get(0);
+        mRemoteConnection2 = (MockConnection)mRemoteConference.getConnections().get(1);
+    }
+
+    private Handler setupRemoteConferenceCallbacksTest() {
+        final Call confCall = mInCallCallbacks.getService().getLastConferenceCall();
+        assertCallState(confCall, Call.STATE_ACTIVE);
+
+        // Create a looper thread for the callbacks.
+        HandlerThread workerThread = new HandlerThread("CallbackThread");
+        workerThread.start();
+        Handler handler = new Handler(workerThread.getLooper());
+        return handler;
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/RemoteConnectionTest.java b/tests/tests/telecom/src/android/telecom/cts/RemoteConnectionTest.java
new file mode 100644
index 0000000..79fb592
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/RemoteConnectionTest.java
@@ -0,0 +1,1247 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.*;
+
+import android.graphics.SurfaceTexture;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
+import android.telecom.Call;
+import android.telecom.Connection;
+import android.telecom.ConnectionRequest;
+import android.telecom.DisconnectCause;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.RemoteConnection;
+import android.telecom.RemoteConnection.VideoProvider;
+import android.telecom.StatusHints;
+import android.telecom.TelecomManager;
+import android.telecom.VideoProfile;
+import android.view.Surface;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Extended suite of tests that use {@link CtsConnectionService} and {@link MockInCallService} to
+ * verify the functionality of Remote Connections.
+ * We make 2 connections on the {@link CtsConnectionService} & we create 2 connections on the
+ * {@link CtsRemoteConnectionService} via the {@link RemoteConnection} object. We store this
+ * corresponding RemoteConnection object on the connections to plumb the modifications on
+ * the connections in {@link CtsConnectionService} to the connections on
+ * {@link CtsRemoteConnectionService}.
+ */
+public class RemoteConnectionTest extends BaseRemoteTelecomTest {
+
+    MockConnection mConnection;
+    MockConnection mRemoteConnection;
+    RemoteConnection mRemoteConnectionObject;
+
+    public void testRemoteConnectionOutgoingCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        addRemoteConnectionOutgoingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        mConnection.setActive();
+        mRemoteConnection.setActive();
+
+        assertCallState(call, Call.STATE_ACTIVE);
+        assertConnectionState(mConnection, Connection.STATE_ACTIVE);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection, Connection.STATE_ACTIVE);
+
+        call.hold();
+        assertCallState(call, Call.STATE_HOLDING);
+        assertConnectionState(mConnection, Connection.STATE_HOLDING);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_HOLDING);
+        assertConnectionState(mRemoteConnection, Connection.STATE_HOLDING);
+
+        call.unhold();
+        assertCallState(call, Call.STATE_ACTIVE);
+        assertConnectionState(mConnection, Connection.STATE_ACTIVE);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection, Connection.STATE_ACTIVE);
+
+        call.disconnect();
+        assertCallState(call, Call.STATE_DISCONNECTED);
+        assertConnectionState(mConnection, Connection.STATE_DISCONNECTED);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_DISCONNECTED);
+        assertConnectionState(mRemoteConnection, Connection.STATE_DISCONNECTED);
+    }
+
+    public void testRemoteConnectionIncomingCallAccept() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        addRemoteConnectionIncomingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_RINGING);
+
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        assertConnectionState(mConnection, Connection.STATE_RINGING);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_RINGING);
+        assertConnectionState(mRemoteConnection, Connection.STATE_RINGING);
+
+        call.answer(VideoProfile.STATE_AUDIO_ONLY);
+        assertCallState(call, Call.STATE_ACTIVE);
+        assertConnectionState(mConnection, Connection.STATE_ACTIVE);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_ACTIVE);
+        assertConnectionState(mRemoteConnection, Connection.STATE_ACTIVE);
+    }
+
+    public void testRemoteConnectionIncomingCallReject() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        addRemoteConnectionIncomingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_RINGING);
+
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        assertConnectionState(mConnection, Connection.STATE_RINGING);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_RINGING);
+        assertConnectionState(mRemoteConnection, Connection.STATE_RINGING);
+
+        call.reject(false, null);
+        assertCallState(call, Call.STATE_DISCONNECTED);
+        assertConnectionState(mConnection, Connection.STATE_DISCONNECTED);
+        assertRemoteConnectionState(mRemoteConnectionObject, Connection.STATE_DISCONNECTED);
+        assertConnectionState(mRemoteConnection, Connection.STATE_DISCONNECTED);
+    }
+
+    public void testRemoteConnectionDTMFTone() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+        addRemoteConnectionIncomingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_RINGING);
+
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        assertTrue(mConnection.getDtmfString().isEmpty());
+        assertTrue(mRemoteConnection.getDtmfString().isEmpty());
+        call.playDtmfTone('1');
+        assertDtmfString(mConnection, "1");
+        assertDtmfString(mRemoteConnection, "1");
+        call.stopDtmfTone();
+        assertDtmfString(mConnection, "1.");
+        assertDtmfString(mRemoteConnection, "1.");
+        call.playDtmfTone('3');
+        assertDtmfString(mConnection, "1.3");
+        assertDtmfString(mRemoteConnection, "1.3");
+        call.stopDtmfTone();
+        assertDtmfString(mConnection, "1.3.");
+        assertDtmfString(mRemoteConnection, "1.3.");
+    }
+
+    public void testRemoteConnectionCallbacks_StateChange() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_StateChange");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onStateChanged(RemoteConnection connection, int state) {
+                super.onStateChanged(connection, state);
+                callbackInvoker.invoke(connection, state);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.setActive();
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(Connection.STATE_ACTIVE, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_RingbackRequest() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_RingbackRequest");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onRingbackRequested(RemoteConnection connection, boolean ringback) {
+                super.onRingbackRequested(connection, ringback);
+                callbackInvoker.invoke(connection, ringback);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.setRingbackRequested(true);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertTrue((boolean) callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_ConnectionCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_ConnectionCapabilities");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onConnectionCapabilitiesChanged(
+                    RemoteConnection connection,
+                    int connectionCapabilities) {
+                super.onConnectionCapabilitiesChanged(connection, connectionCapabilities);
+                callbackInvoker.invoke(connection, connectionCapabilities);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        int capabilities = mRemoteConnection.getConnectionCapabilities() | Connection.CAPABILITY_MUTE;
+        mRemoteConnection.setConnectionCapabilities(capabilities);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(capabilities, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+
+    }
+
+    public void testRemoteConnectionCallbacks_PostDialWait() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_PostDialWait");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onPostDialWait(RemoteConnection connection,
+                                       String remainingPostDialSequence) {
+                super.onPostDialWait(connection, remainingPostDialSequence);
+                callbackInvoker.invoke(connection, remainingPostDialSequence);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        String postDialSequence = "test";
+        mRemoteConnection.setPostDialWait(postDialSequence);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(postDialSequence, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_PostDialChar() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_PostDialChar");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onPostDialChar(RemoteConnection connection, char nextChar) {
+                super.onPostDialChar(connection, nextChar);
+                callbackInvoker.invoke(connection, nextChar);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        char postDialChar = '3';
+        ((Connection) mRemoteConnection).setNextPostDialChar(postDialChar);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(postDialChar, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_VoipAudio() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_VoipAudio");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onVoipAudioChanged(RemoteConnection connection, boolean isVoip) {
+                super.onVoipAudioChanged(connection, isVoip);
+                callbackInvoker.invoke(connection, isVoip);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.setAudioModeIsVoip(true);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertTrue((boolean) callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_StatusHints() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_StatusHints");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onStatusHintsChanged(RemoteConnection connection, StatusHints statusHints) {
+                super.onStatusHintsChanged(connection, statusHints);
+                callbackInvoker.invoke(connection, statusHints);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        StatusHints hints = new StatusHints("test", null, null);
+        mRemoteConnection.setStatusHints(hints);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(hints, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_AddressChange() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_AddressChange");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onAddressChanged(RemoteConnection connection, Uri address,
+                                         int presentation) {
+                super.onAddressChanged(connection, address, presentation);
+                callbackInvoker.invoke(connection, address, presentation);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        Uri address = Uri.parse("tel:555");
+        mRemoteConnection.setAddress(address, TelecomManager.PRESENTATION_ALLOWED);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(address, callbackInvoker.getArgs(0)[1]);
+        assertEquals(TelecomManager.PRESENTATION_ALLOWED, callbackInvoker.getArgs(0)[2]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_CallerDisplayName() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_CallerDisplayName");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onCallerDisplayNameChanged(
+                    RemoteConnection connection, String callerDisplayName, int presentation) {
+                super.onCallerDisplayNameChanged(connection, callerDisplayName, presentation);
+                callbackInvoker.invoke(connection, callerDisplayName, presentation);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        String callerDisplayName = "test";
+        mRemoteConnection.setCallerDisplayName(callerDisplayName, TelecomManager.PRESENTATION_ALLOWED);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(callerDisplayName, callbackInvoker.getArgs(0)[1]);
+        assertEquals(TelecomManager.PRESENTATION_ALLOWED, callbackInvoker.getArgs(0)[2]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_VideoState() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_VideoState");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onVideoStateChanged(RemoteConnection connection, int videoState) {
+                super.onVideoStateChanged(connection, videoState);
+                callbackInvoker.invoke(connection, videoState);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.setVideoState(VideoProfile.STATE_BIDIRECTIONAL);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(VideoProfile.STATE_BIDIRECTIONAL, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_ConferenceableConnections() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_ConferenceableConnections");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onConferenceableConnectionsChanged(
+                    RemoteConnection connection,
+                    List<RemoteConnection> conferenceableConnections) {
+                super.onConferenceableConnectionsChanged(connection, conferenceableConnections);
+                callbackInvoker.invoke(connection, conferenceableConnections);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        //Make the existing call active to add a new call
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        mConnection.setActive();
+        mRemoteConnection.setActive();
+        assertCallState(call, Call.STATE_ACTIVE);
+        placeAndVerifyCall();
+        RemoteConnection newRemoteConnectionObject =
+                verifyConnectionForOutgoingCall(1).getRemoteConnection();
+        MockConnection newConnection = verifyConnectionForOutgoingCallOnRemoteCS(1);
+        ArrayList<Connection> confList = new ArrayList<>();
+        confList.add(newConnection);
+        mRemoteConnection.setConferenceableConnections(confList);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        //assertTrue(((List<RemoteConnection>)callbackInvoker.getArgs(0)[1]).contains(
+                //newRemoteConnectionObject)); No "equals" method in RemoteConnection
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_VideoProvider() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_VideoProvider");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onVideoProviderChanged(
+                    RemoteConnection connection, VideoProvider videoProvider) {
+                super.onVideoProviderChanged(connection, videoProvider);
+                callbackInvoker.invoke(connection, videoProvider);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.createMockVideoProvider();
+        MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        mRemoteConnection.setVideoProvider(mockVideoProvider);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_Extras() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_Extras");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onExtrasChanged(RemoteConnection connection, Bundle extras) {
+                super.onExtrasChanged(connection, extras);
+                callbackInvoker.invoke(connection, extras);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        Bundle extras = new Bundle();
+        extras.putString(TelecomManager.EXTRA_CALL_DISCONNECT_MESSAGE, "Test");
+        mRemoteConnection.setExtras(extras);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(extras, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+
+    }
+
+    public void testRemoteConnectionCallbacks_Disconnect() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_Disconnect");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onDisconnected(
+                    RemoteConnection connection,
+                    DisconnectCause disconnectCause) {
+                super.onDisconnected(connection, disconnectCause);
+                callbackInvoker.invoke(connection, disconnectCause);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        DisconnectCause cause = new DisconnectCause(DisconnectCause.LOCAL);
+        mRemoteConnection.setDisconnected(cause);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        assertEquals(cause, callbackInvoker.getArgs(0)[1]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionCallbacks_Destroy() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        Handler handler = setupRemoteConnectionCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionCallbacks_Destroy");
+        RemoteConnection.Callback callback;
+
+        callback = new RemoteConnection.Callback() {
+            @Override
+            public void onDestroyed(RemoteConnection connection) {
+                super.onDestroyed(connection);
+                callbackInvoker.invoke(connection);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.destroy();
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_SessionModify() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_SessionModify");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onSessionModifyRequestReceived(
+                    VideoProvider videoProvider,
+                    VideoProfile videoProfile) {
+                super.onSessionModifyRequestReceived(videoProvider, videoProfile);
+                callbackInvoker.invoke(videoProvider, videoProfile);
+            }
+
+            @Override
+            public void onSessionModifyResponseReceived(
+                    VideoProvider videoProvider,
+                    int status,
+                    VideoProfile requestedProfile,
+                    VideoProfile responseProfile) {
+                super.onSessionModifyResponseReceived(videoProvider, status, requestedProfile,
+                        responseProfile);
+                callbackInvoker.invoke(videoProvider, status, requestedProfile, responseProfile);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        VideoProfile videoProfile = new VideoProfile(VideoProfile.STATE_BIDIRECTIONAL);
+        mockVideoProvider.sendMockSessionModifyRequest(videoProfile);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(videoProfile, callbackInvoker.getArgs(0)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_SessionEvent() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_SessionEvent");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCallSessionEvent(VideoProvider videoProvider, int event) {
+                super.onCallSessionEvent(videoProvider, event);
+                callbackInvoker.invoke(videoProvider, event);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        mockVideoProvider.handleCallSessionEvent(Connection.VideoProvider.SESSION_EVENT_RX_PAUSE);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(Connection.VideoProvider.SESSION_EVENT_RX_PAUSE, callbackInvoker.getArgs(0)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_PeerDimensions() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_PeerDimensions");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onPeerDimensionsChanged(VideoProvider videoProvider, int width,
+                                                int height) {
+                super.onPeerDimensionsChanged(videoProvider, width, height);
+                callbackInvoker.invoke(videoProvider, width, height);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        final int width = 100, heigth = 20;
+        mockVideoProvider.changePeerDimensions(width, heigth);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(width, callbackInvoker.getArgs(0)[1]);
+        assertEquals(heigth, callbackInvoker.getArgs(0)[2]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_CallDataUsage() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_CallDataUsage");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCallDataUsageChanged(VideoProvider videoProvider, long dataUsage) {
+                super.onCallDataUsageChanged(videoProvider, dataUsage);
+                callbackInvoker.invoke(videoProvider, dataUsage);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        long callDataUsage = 10000;
+        mockVideoProvider.setCallDataUsage(callDataUsage);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(callDataUsage, callbackInvoker.getArgs(0)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_CameraCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_CameraCapabilities");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCameraCapabilitiesChanged(
+                    VideoProvider videoProvider,
+                    VideoProfile.CameraCapabilities cameraCapabilities) {
+                super.onCameraCapabilitiesChanged(videoProvider, cameraCapabilities);
+                callbackInvoker.invoke(videoProvider, cameraCapabilities);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        VideoProfile.CameraCapabilities capabilities = new VideoProfile.CameraCapabilities(100, 200);
+        mockVideoProvider.changeCameraCapabilities(capabilities);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(capabilities, callbackInvoker.getArgs(0)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideoCallbacks_VideoQuality() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        setupRemoteConnectionVideoCallbacksTest();
+
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideoCallbacks_VideoQuality");
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        final MockVideoProvider mockVideoProvider = mRemoteConnection.getMockVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onVideoQualityChanged(VideoProvider videoProvider, int videoQuality) {
+                super.onVideoQualityChanged(videoProvider, videoQuality);
+                callbackInvoker.invoke(videoProvider, videoQuality);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        final int videoQuality = 10;
+        mockVideoProvider.changeVideoQuality(videoQuality);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(0)[0]);
+        assertEquals(videoQuality, callbackInvoker.getArgs(0)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_RequestCallDataUsage() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final long callDataUsage = 10000;
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_RequestCallDataUsage");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onRequestConnectionDataUsage() {
+                callbackInvoker.invoke();
+                super.setCallDataUsage(callDataUsage);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCallDataUsageChanged(VideoProvider videoProvider, long dataUsage) {
+                super.onCallDataUsageChanged(videoProvider, dataUsage);
+                callbackInvoker.invoke(videoProvider, dataUsage);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        remoteVideoProvider.requestCallDataUsage();
+        callbackInvoker.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(1)[0]);
+        assertEquals(callDataUsage, callbackInvoker.getArgs(1)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_RequestCameraCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final VideoProfile.CameraCapabilities capabilities =
+                new VideoProfile.CameraCapabilities(100, 200);
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_RequestCameraCapabilities");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onRequestCameraCapabilities() {
+                callbackInvoker.invoke();
+                super.changeCameraCapabilities(capabilities);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCameraCapabilitiesChanged(
+                    VideoProvider videoProvider,
+                    VideoProfile.CameraCapabilities cameraCapabilities) {
+                super.onCameraCapabilitiesChanged(videoProvider, cameraCapabilities);
+                callbackInvoker.invoke(videoProvider, cameraCapabilities);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        remoteVideoProvider.requestCameraCapabilities();
+        callbackInvoker.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(1)[0]);
+        assertEquals(capabilities, callbackInvoker.getArgs(1)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_SendSessionModifyRequest() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        VideoProfile fromVideoProfile = new VideoProfile(VideoProfile.STATE_AUDIO_ONLY);
+        VideoProfile toVideoProfile =  new VideoProfile(VideoProfile.STATE_BIDIRECTIONAL);
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SendSessionModifyRequest");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSendSessionModifyRequest(VideoProfile fromProfile,
+                                                   VideoProfile toProfile) {
+                callbackInvoker.invoke(fromProfile, toProfile);
+                super.receiveSessionModifyRequest(toProfile);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onSessionModifyRequestReceived(
+                    VideoProvider videoProvider,
+                    VideoProfile videoProfile) {
+                super.onSessionModifyRequestReceived(videoProvider, videoProfile);
+                callbackInvoker.invoke(videoProvider, videoProfile);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        remoteVideoProvider.sendSessionModifyRequest(fromVideoProfile, toVideoProfile);
+        callbackInvoker.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(fromVideoProfile, callbackInvoker.getArgs(0)[0]);
+        assertEquals(toVideoProfile, callbackInvoker.getArgs(0)[1]);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(1)[0]);
+        assertEquals(toVideoProfile, callbackInvoker.getArgs(1)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_SendSessionModifyResponse() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        VideoProfile toVideoProfile =  new VideoProfile(VideoProfile.STATE_BIDIRECTIONAL);
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SendSessionModifyResponse");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSendSessionModifyResponse(VideoProfile responseProfile) {
+                callbackInvoker.invoke(responseProfile);
+                super.receiveSessionModifyResponse(
+                        Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS,
+                        responseProfile, responseProfile);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onSessionModifyResponseReceived(
+                    VideoProvider videoProvider,
+                    int status,
+                    VideoProfile requestedProfile,
+                    VideoProfile responseProfile) {
+                super.onSessionModifyResponseReceived(videoProvider, status, requestedProfile,
+                        responseProfile);
+                callbackInvoker.invoke(videoProvider, status, requestedProfile, responseProfile);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        remoteVideoProvider.sendSessionModifyResponse(toVideoProfile);
+        callbackInvoker.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(toVideoProfile, callbackInvoker.getArgs(0)[0]);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(1)[0]);
+        assertEquals(toVideoProfile, callbackInvoker.getArgs(1)[2]);
+        assertEquals(Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS,
+            callbackInvoker.getArgs(1)[1]);
+        assertEquals(toVideoProfile, callbackInvoker.getArgs(1)[3]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_SetCamera() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final String newCameraId = "5";
+        final VideoProfile.CameraCapabilities capabilities =
+            new VideoProfile.CameraCapabilities(100, 200);
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetCamera");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetCamera(String cameraId) {
+                callbackInvoker.invoke(cameraId);
+                super.changeCameraCapabilities(capabilities);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+        RemoteConnection.VideoProvider.Callback videoCallback;
+
+        videoCallback = new RemoteConnection.VideoProvider.Callback() {
+            @Override
+            public void onCameraCapabilitiesChanged(
+                    VideoProvider videoProvider,
+                    VideoProfile.CameraCapabilities cameraCapabilities) {
+                super.onCameraCapabilitiesChanged(videoProvider, cameraCapabilities);
+                callbackInvoker.invoke(videoProvider, cameraCapabilities);
+            }
+        };
+        remoteVideoProvider.registerCallback(videoCallback);
+        remoteVideoProvider.setCamera(newCameraId);
+        callbackInvoker.waitForCount(2, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newCameraId, callbackInvoker.getArgs(0)[0]);
+        assertEquals(remoteVideoProvider, callbackInvoker.getArgs(1)[0]);
+        assertEquals(capabilities, callbackInvoker.getArgs(1)[1]);
+        remoteVideoProvider.unregisterCallback(videoCallback);
+    }
+
+    public void testRemoteConnectionVideo_SetDeviceOrientation() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final int newRotation = 5;
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetDeviceOrientation");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetDeviceOrientation(int rotation) {
+                callbackInvoker.invoke(rotation);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+
+        remoteVideoProvider.setDeviceOrientation(newRotation);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newRotation, callbackInvoker.getArgs(0)[0]);
+    }
+
+    public void testRemoteConnectionVideo_SetDisplaySurface() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final Surface newSurface = new Surface(new SurfaceTexture(1));
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetDisplaySurface");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetDisplaySurface(Surface surface) {
+                callbackInvoker.invoke(surface);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+
+        remoteVideoProvider.setDisplaySurface(newSurface);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newSurface, callbackInvoker.getArgs(0)[0]);
+    }
+
+    public void testRemoteConnectionVideo_SetPauseImage() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final Uri newUri = Uri.parse("content://");
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetPauseImage");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetPauseImage(Uri uri) {
+                callbackInvoker.invoke(uri);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+
+        remoteVideoProvider.setPauseImage(newUri);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newUri, callbackInvoker.getArgs(0)[0]);
+    }
+
+    public void testRemoteConnectionVideo_SetPreviewSurface() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final Surface newSurface = new Surface(new SurfaceTexture(1));
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetPreviewSurface");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetPreviewSurface(Surface surface) {
+                callbackInvoker.invoke(surface);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+
+        remoteVideoProvider.setPreviewSurface(newSurface);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newSurface, callbackInvoker.getArgs(0)[0]);
+    }
+
+    public void testRemoteConnectionVideo_SetZoom() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
+        final float newZoom = 1.0f;
+        final InvokeCounter callbackInvoker =
+                new InvokeCounter("testRemoteConnectionVideo_SetPreviewSurface");
+        final MockVideoProvider mockVideoProvider = new MockVideoProvider(mRemoteConnection) {
+            @Override
+            public void onSetZoom(float value) {
+                callbackInvoker.invoke(value);
+            }
+        };
+        setupRemoteConnectionVideoTest(mockVideoProvider);
+
+        final VideoProvider remoteVideoProvider = mRemoteConnectionObject.getVideoProvider();
+
+        remoteVideoProvider.setZoom(newZoom);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(newZoom, callbackInvoker.getArgs(0)[0]);
+    }
+
+    private void verifyRemoteConnectionObject(RemoteConnection remoteConnection,
+            Connection connection) {
+        assertEquals(connection.getAddress(), remoteConnection.getAddress());
+        assertEquals(connection.getAddressPresentation(),
+                remoteConnection.getAddressPresentation());
+        assertEquals(connection.getCallerDisplayName(), remoteConnection.getCallerDisplayName());
+        assertEquals(connection.getCallerDisplayNamePresentation(),
+                remoteConnection.getCallerDisplayNamePresentation());
+        assertEquals(connection.getConnectionCapabilities(),
+                remoteConnection.getConnectionCapabilities());
+        assertEquals(connection.getDisconnectCause(), remoteConnection.getDisconnectCause());
+        assertEquals(connection.getExtras(), remoteConnection.getExtras());
+        assertEquals(connection.getStatusHints(), remoteConnection.getStatusHints());
+        assertEquals(VideoProfile.STATE_AUDIO_ONLY, remoteConnection.getVideoState());
+        assertNull(remoteConnection.getVideoProvider());
+        assertTrue(remoteConnection.getConferenceableConnections().isEmpty());
+    }
+
+    private void addRemoteConnectionOutgoingCall() {
+        try {
+            MockConnectionService managerConnectionService = new MockConnectionService() {
+                @Override
+                public Connection onCreateOutgoingConnection(
+                        PhoneAccountHandle connectionManagerPhoneAccount,
+                        ConnectionRequest request) {
+                    MockConnection connection = (MockConnection)super.onCreateOutgoingConnection(
+                            connectionManagerPhoneAccount, request);
+                    ConnectionRequest remoteRequest = new ConnectionRequest(
+                            TEST_REMOTE_PHONE_ACCOUNT_HANDLE,
+                            request.getAddress(),
+                            request.getExtras());
+                    RemoteConnection remoteConnection =
+                            CtsConnectionService.createRemoteOutgoingConnectionToTelecom(
+                                    TEST_REMOTE_PHONE_ACCOUNT_HANDLE, remoteRequest);
+                    connection.setRemoteConnection(remoteConnection);
+                    return connection;
+                }
+            };
+            setupConnectionServices(managerConnectionService, null, FLAG_REGISTER | FLAG_ENABLE);
+        } catch(Exception e) {
+            fail("Error in setting up the connection services");
+        }
+        placeAndVerifyCall();
+        /**
+         * Retrieve the connection from both the connection services and see if the plumbing via
+         * RemoteConnection object is working.
+         */
+        mConnection = verifyConnectionForOutgoingCall();
+        mRemoteConnection = verifyConnectionForOutgoingCallOnRemoteCS();
+        mRemoteConnectionObject = mConnection.getRemoteConnection();
+    }
+
+    private void addRemoteConnectionIncomingCall() {
+        try {
+            MockConnectionService managerConnectionService = new MockConnectionService() {
+                @Override
+                public Connection onCreateIncomingConnection(
+                        PhoneAccountHandle connectionManagerPhoneAccount,
+                        ConnectionRequest request) {
+                    MockConnection connection = (MockConnection)super.onCreateIncomingConnection(
+                            connectionManagerPhoneAccount, request);
+                    ConnectionRequest remoteRequest = new ConnectionRequest(
+                            TEST_REMOTE_PHONE_ACCOUNT_HANDLE,
+                            request.getAddress(),
+                            request.getExtras());
+                    RemoteConnection remoteConnection =
+                            CtsConnectionService.createRemoteIncomingConnectionToTelecom(
+                                    TEST_REMOTE_PHONE_ACCOUNT_HANDLE, remoteRequest);
+                    connection.setRemoteConnection(remoteConnection);
+                    return connection;
+                }
+            };
+            setupConnectionServices(managerConnectionService, null, FLAG_REGISTER | FLAG_ENABLE);
+        } catch(Exception e) {
+            fail("Error in setting up the connection services");
+        }
+        addAndVerifyNewIncomingCall(createTestNumber(), null);
+        /**
+         * Retrieve the connection from both the connection services and see if the plumbing via
+         * RemoteConnection object is working.
+         */
+        mConnection = verifyConnectionForIncomingCall();
+        mRemoteConnection = verifyConnectionForIncomingCallOnRemoteCS();
+        mRemoteConnectionObject = mConnection.getRemoteConnection();
+    }
+
+    private Handler setupRemoteConnectionCallbacksTest() {
+        addRemoteConnectionOutgoingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        // Create a looper thread for the callbacks.
+        HandlerThread workerThread = new HandlerThread("CallbackThread");
+        workerThread.start();
+        Handler handler = new Handler(workerThread.getLooper());
+        return handler;
+    }
+
+    private Handler setupRemoteConnectionVideoCallbacksTest() {
+        addRemoteConnectionOutgoingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        // Create a looper thread for the callbacks.
+        HandlerThread workerThread = new HandlerThread("CallbackThread");
+        workerThread.start();
+        Handler handler = new Handler(workerThread.getLooper());
+
+        final InvokeCounter callbackInvoker = new InvokeCounter("RemoteConnectionCallbacks");
+
+        RemoteConnection.Callback callback = new RemoteConnection.Callback() {
+            @Override
+            public void onVideoProviderChanged(
+                    RemoteConnection connection, VideoProvider videoProvider) {
+                callbackInvoker.invoke(connection, videoProvider);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.createMockVideoProvider();
+        mRemoteConnection.setVideoProvider(mRemoteConnection.getMockVideoProvider());
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+        return handler;
+    }
+
+    private Handler setupRemoteConnectionVideoTest(MockVideoProvider mockVideoProvider) {
+        addRemoteConnectionOutgoingCall();
+        final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+        verifyRemoteConnectionObject(mRemoteConnectionObject, mRemoteConnection);
+
+        // Create a looper thread for the callbacks.
+        HandlerThread workerThread = new HandlerThread("CallbackThread");
+        workerThread.start();
+        Handler handler = new Handler(workerThread.getLooper());
+
+        final InvokeCounter callbackInvoker = new InvokeCounter("RemoteConnectionCallbacks");
+
+        RemoteConnection.Callback callback = new RemoteConnection.Callback() {
+            @Override
+            public void onVideoProviderChanged(
+                    RemoteConnection connection, VideoProvider videoProvider) {
+                callbackInvoker.invoke(connection, videoProvider);
+            }
+        };
+        mRemoteConnectionObject.registerCallback(callback, handler);
+        mRemoteConnection.setVideoProvider(mockVideoProvider);
+        callbackInvoker.waitForCount(1, WAIT_FOR_STATE_CHANGE_TIMEOUT_MS);
+        assertEquals(mRemoteConnectionObject, callbackInvoker.getArgs(0)[0]);
+        mRemoteConnectionObject.unregisterCallback(callback);
+        return handler;
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/SimCallManagerTest.java b/tests/tests/telecom/src/android/telecom/cts/SimCallManagerTest.java
new file mode 100644
index 0000000..a7961c3
--- /dev/null
+++ b/tests/tests/telecom/src/android/telecom/cts/SimCallManagerTest.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telecom.cts;
+
+import static android.telecom.cts.TestUtils.ACCOUNT_ID;
+import static android.telecom.cts.TestUtils.ACCOUNT_LABEL;
+import static android.telecom.cts.TestUtils.COMPONENT;
+import static android.telecom.cts.TestUtils.PACKAGE;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.graphics.Color;
+import android.net.Uri;
+import android.os.PersistableBundle;
+import android.telecom.PhoneAccount;
+import android.telecom.PhoneAccountHandle;
+import android.telecom.TelecomManager;
+import android.telephony.CarrierConfigManager;
+import android.test.InstrumentationTestCase;
+import android.text.TextUtils;
+
+import java.util.Arrays;
+
+/**
+ * Verifies the behavior of TelecomManager.getSimCallManager() with respect to the default dialer
+ */
+public class SimCallManagerTest extends InstrumentationTestCase {
+    public static final PhoneAccountHandle TEST_PHONE_ACCOUNT_HANDLE =
+            new PhoneAccountHandle(new ComponentName(PACKAGE, COMPONENT), ACCOUNT_ID);
+
+    public static final PhoneAccount TEST_SIM_CALL_MANAGER_ACCOUNT = PhoneAccount.builder(
+            TEST_PHONE_ACCOUNT_HANDLE, ACCOUNT_LABEL)
+            .setAddress(Uri.parse("tel:555-TEST"))
+            .setSubscriptionAddress(Uri.parse("tel:555-TEST"))
+            .setCapabilities(PhoneAccount.CAPABILITY_CONNECTION_MANAGER)
+            .setHighlightColor(Color.RED)
+            .setShortDescription(ACCOUNT_LABEL)
+            .setSupportedUriSchemes(Arrays.asList("tel"))
+            .build();
+
+    private Context mContext;
+    private TelecomManager mTelecomManager;
+    private String mPreviousDefaultDialer = null;
+    private String mSystemDialer = null;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getContext();
+
+        if (!TestUtils.shouldTestTelecom(mContext)) {
+            return;
+        }
+        mPreviousDefaultDialer = TestUtils.getDefaultDialer(getInstrumentation());
+        // Reset the current dialer to the system dialer, to ensure that we start each test
+        // without being the default dialer.
+        mSystemDialer = TestUtils.getSystemDialer(getInstrumentation());
+        if (!TextUtils.isEmpty(mSystemDialer)) {
+            TestUtils.setDefaultDialer(getInstrumentation(), mSystemDialer);
+        }
+        mTelecomManager = (TelecomManager) mContext.getSystemService(Context.TELECOM_SERVICE);
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        if (!TextUtils.isEmpty(mPreviousDefaultDialer)) {
+            // Restore the default dialer to whatever the default dialer was before the tests
+            // were started. This may or may not be the system dialer.
+            TestUtils.setDefaultDialer(getInstrumentation(), mPreviousDefaultDialer);
+        }
+        super.tearDown();
+    }
+
+    public void testGetSimCallManager() throws Exception {
+        if (!TestUtils.shouldTestTelecom(mContext)) {
+            return;
+        }
+
+        // By default, getSimCallManager should return either the carrier configured sim call
+        // manager or the system dialer's sim call manager.
+        assertEquals(mSystemDialer, mTelecomManager.getDefaultDialerPackage());
+        assertNotSame(TEST_PHONE_ACCOUNT_HANDLE, mTelecomManager.getSimCallManager());
+
+        ComponentName carrierConfigSimCallManager = null;
+        CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(
+                Context.CARRIER_CONFIG_SERVICE);
+        PersistableBundle configBundle = configManager.getConfig();
+        if (configBundle != null) {
+            final String componentString = configBundle.getString(
+                    CarrierConfigManager.KEY_DEFAULT_SIM_CALL_MANAGER_STRING);
+            if (!TextUtils.isEmpty(componentString)) {
+                carrierConfigSimCallManager = ComponentName.unflattenFromString(componentString);
+            }
+        }
+
+        // If the default dialer has not registered a sim call manager, getSimCallManager should
+        // return the carrier configured sim call manager (which can be null).
+        PhoneAccountHandle simCallManager = mTelecomManager.getSimCallManager();
+        TestUtils.setDefaultDialer(getInstrumentation(), TestUtils.PACKAGE);
+        assertEquals(TestUtils.PACKAGE, mTelecomManager.getDefaultDialerPackage());
+        assertNotSame(TEST_PHONE_ACCOUNT_HANDLE, mTelecomManager.getSimCallManager());
+        assertEquals("Sim call manager should be the carrier configured value if no default-dialer"
+                + " provided value",
+                carrierConfigSimCallManager,
+                simCallManager == null ? null : simCallManager.getComponentName());
+
+        // Once the default dialer has registered a sim call manager, getSimCallManager should
+        // return the new sim call manager.
+        mTelecomManager.registerPhoneAccount(TEST_SIM_CALL_MANAGER_ACCOUNT);
+        assertEquals("Sim call manager should be default dialer's sim call manager if provided"
+                + " by default dialer",
+                TEST_PHONE_ACCOUNT_HANDLE,
+                mTelecomManager.getSimCallManager());
+
+        // If the dialer is no longer the default dialer, it is no longer the sim call manager.
+        TestUtils.setDefaultDialer(getInstrumentation(), mSystemDialer);
+        assertNotSame(TEST_PHONE_ACCOUNT_HANDLE, mTelecomManager.getSimCallManager());
+    }
+}
diff --git a/tests/tests/telecom/src/android/telecom/cts/TestUtils.java b/tests/tests/telecom/src/android/telecom/cts/TestUtils.java
index 3356be0..962df59 100644
--- a/tests/tests/telecom/src/android/telecom/cts/TestUtils.java
+++ b/tests/tests/telecom/src/android/telecom/cts/TestUtils.java
@@ -30,7 +30,7 @@
 import java.nio.charset.StandardCharsets;
 
 public class TestUtils {
-    static final String TAG = "TelecomXTSTests";
+    static final String TAG = "TelecomCTSTests";
     static final boolean HAS_TELECOM = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
     static final long WAIT_FOR_STATE_CHANGE_TIMEOUT_MS = 10000;
 
@@ -38,9 +38,12 @@
     // tests in the Telecom2 test package.
     public static String PACKAGE = "com.android.cts.telecom";
     public static final String COMPONENT = "android.telecom.cts.CtsConnectionService";
+    public static final String REMOTE_COMPONENT = "android.telecom.cts.CtsRemoteConnectionService";
     public static final String ACCOUNT_ID = "xtstest_CALL_PROVIDER_ID";
+    public static final String REMOTE_ACCOUNT_ID = "xtstest_REMOTE_CALL_PROVIDER_ID";
 
-    public static final String LABEL = "CTSConnectionService";
+    public static final String ACCOUNT_LABEL = "CTSConnectionService";
+    public static final String REMOTE_ACCOUNT_LABEL = "CTSRemoteConnectionService";
 
     private static final String COMMAND_SET_DEFAULT_DIALER = "telecom set-default-dialer ";
 
@@ -50,6 +53,11 @@
 
     private static final String COMMAND_ENABLE = "telecom set-phone-account-enabled ";
 
+    private static final String COMMAND_REGISTER_SIM = "telecom register-sim-phone-account ";
+
+    public static final String MERGE_CALLER_NAME = "calls-merged";
+    public static final String SWAP_CALLER_NAME = "calls-swapped";
+
     public static boolean shouldTestTelecom(Context context) {
         if (!HAS_TELECOM) {
             return false;
@@ -79,6 +87,14 @@
                 + handle.getId());
     }
 
+    public static void registerSimPhoneAccount(Instrumentation instrumentation,
+            PhoneAccountHandle handle, String label, String address) throws Exception {
+        final ComponentName component = handle.getComponentName();
+        executeShellCommand(instrumentation, COMMAND_REGISTER_SIM
+                + component.getPackageName() + "/" + component.getClassName() + " "
+                + handle.getId() + " " + label + " " + address);
+    }
+
     /**
      * Executes the given shell command and returns the output in a string. Note that even
      * if we don't care about the output, we have to read the stream completely to make the
diff --git a/tests/tests/telecom/src/android/telecom/cts/VideoCallTest.java b/tests/tests/telecom/src/android/telecom/cts/VideoCallTest.java
index e62d125..fbfa998 100644
--- a/tests/tests/telecom/src/android/telecom/cts/VideoCallTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/VideoCallTest.java
@@ -47,7 +47,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        if (TestUtils.shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             setupConnectionService(null, FLAG_REGISTER | FLAG_ENABLE);
         }
     }
@@ -56,14 +56,20 @@
      * Tests ability to start a 2-way video call and retrieve its video state.
      */
     public void testMakeTwoWayVideoCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
 
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
-        verifyConnectionForOutgoingCall();
+        final MockConnection connection = verifyConnectionForOutgoingCall();
 
         final MockInCallService inCallService = mInCallCallbacks.getService();
         final Call call = inCallService.getLastCall();
 
+        assertCallState(call, Call.STATE_DIALING);
+        connection.setActive();
         assertCallState(call, Call.STATE_ACTIVE);
+
         assertVideoState(call, VideoProfile.STATE_BIDIRECTIONAL);
         assertVideoCallbackRegistered(inCallService, call, true);
     }
@@ -72,6 +78,10 @@
      * Tests ability to start a 1-way video call and retrieve its video state.
      */
     public void testMakeOneWayVideoCall() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_TX_ENABLED);
         verifyConnectionForOutgoingCall();
 
@@ -86,6 +96,10 @@
      * Tests ability to upgrade an audio-only call to a video call.
      */
     public void testUpgradeToVideo() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_AUDIO_ONLY);
         verifyConnectionForOutgoingCall();
 
@@ -106,6 +120,10 @@
      * Tests ability to receive a session modification request.
      */
     public void testReceiveSessionModifyRequest() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_AUDIO_ONLY);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -131,6 +149,10 @@
      * Tests ability to send a session modification response.
      */
     public void testSendSessionModifyResponse() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_AUDIO_ONLY);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -153,6 +175,10 @@
      * the call.
      */
     public void testVideoCallDelayProvider() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         // Don't create video provider when call is created initially; we will do this later.
         try {
             connectionService.setCreateVideoProvider(false);
@@ -184,6 +210,10 @@
      * back in response.
      */
     public void testChangeCamera() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         verifyConnectionForOutgoingCall();
 
@@ -205,6 +235,10 @@
      * Tests ability to request the camera capabilities from the video provider.
      */
     public void testRequestCameraCapabilities() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         verifyConnectionForOutgoingCall();
 
@@ -229,6 +263,10 @@
      * Tests ability to request data usage from the video provider.
      */
     public void testRequestDataUsage() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         verifyConnectionForOutgoingCall();
 
@@ -246,6 +284,10 @@
      * Tests ability to receive changes to the video quality from the video provider.
      */
     public void testReceiveVideoQuality() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -278,6 +320,10 @@
      * Tests ability to receive call session events from the video provider.
      */
     public void testReceiveCallSessionEvent() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -300,6 +346,10 @@
      * Tests ability to receive changes to the peer dimensions from the video provider.
      */
     public void testReceivePeerDimensionChange() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -321,6 +371,10 @@
      * Tests ability to set the device orientation via the provider.
      */
     public void testSetDeviceOrientation() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -339,6 +393,10 @@
      * Tests ability to set the preview surface via the provider.
      */
     public void testSetPreviewSurface() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -362,6 +420,10 @@
      * Tests ability to set the display surface via the provider.
      */
     public void testSetDisplaySurface() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
@@ -385,6 +447,10 @@
      * Tests ability to set the camera zoom via the provider.
      */
     public void testSetZoom() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall(VideoProfile.STATE_BIDIRECTIONAL);
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
diff --git a/tests/tests/telecom/src/android/telecom/cts/WiredHeadsetTest.java b/tests/tests/telecom/src/android/telecom/cts/WiredHeadsetTest.java
index f2e62dc..466a90b 100644
--- a/tests/tests/telecom/src/android/telecom/cts/WiredHeadsetTest.java
+++ b/tests/tests/telecom/src/android/telecom/cts/WiredHeadsetTest.java
@@ -30,7 +30,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        if (TestUtils.shouldTestTelecom(mContext)) {
+        if (mShouldTestTelecom) {
             setupConnectionService(null, FLAG_REGISTER | FLAG_ENABLE);
         }
     }
@@ -45,6 +45,10 @@
     }
 
     public void testIncomingCallShortPress_acceptsCall() throws Exception {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         addAndVerifyNewIncomingCall(getTestNumber(), null);
         final MockConnection connection = verifyConnectionForIncomingCall();
 
@@ -58,6 +62,10 @@
     }
 
     public void testIncomingCallLongPress_rejectsCall() throws Exception {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         addAndVerifyNewIncomingCall(getTestNumber(), null);
         final MockConnection connection = verifyConnectionForIncomingCall();
 
@@ -71,6 +79,10 @@
     }
 
     public void testInCallShortPress_togglesMute() throws Exception {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall();
         final MockConnection connection = verifyConnectionForOutgoingCall();
         final MockInCallService incallService = mInCallCallbacks.getService();
@@ -89,12 +101,18 @@
     }
 
     public void testInCallLongPress_hangupCall() throws Exception {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall();
         final MockConnection connection = verifyConnectionForOutgoingCall();
 
         final Call call = mInCallCallbacks.getService().getLastCall();
+        assertCallState(call, Call.STATE_DIALING);
+
+        connection.setActive();
         assertCallState(call, Call.STATE_ACTIVE);
-        assertConnectionState(connection, Connection.STATE_ACTIVE);
 
         sendMediaButtonLongPress();
         assertCallState(call, Call.STATE_DISCONNECTED);
@@ -102,6 +120,10 @@
     }
 
     public void testStartCallWithSpeakerphoneNotProvided_SpeakerphoneOffByDefault() {
+        if (!mShouldTestTelecom) {
+            return;
+        }
+
         placeAndVerifyCall();
         verifyConnectionForOutgoingCall();
         assertAudioRoute(mInCallCallbacks.getService(), CallAudioState.ROUTE_EARPIECE);
diff --git a/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java b/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java
index 67d75c9..4ca35b8 100644
--- a/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/CarrierConfigManagerTest.java
@@ -17,6 +17,7 @@
 package android.telephony.cts;
 
 import android.content.Context;
+import android.net.ConnectivityManager;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
@@ -36,8 +37,16 @@
                 getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
     }
 
-    private boolean hasValidPhone() {
-        return mTelephonyManager.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE;
+    /**
+     * Checks whether the telephony stack should be running on this device.
+     *
+     * Note: "Telephony" means only SMS/MMS and voice calls in some contexts, but we also care if
+     * the device supports cellular data.
+     */
+    private boolean hasTelephony() {
+        ConnectivityManager mgr =
+                (ConnectivityManager) getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
+        return mgr.isNetworkSupported(ConnectivityManager.TYPE_MOBILE);
     }
 
     private boolean isSimCardPresent() {
@@ -46,16 +55,15 @@
     }
 
     private void checkConfig(PersistableBundle config) {
-        if (!hasValidPhone()) {
-            assertNull(config);
+        if (config == null) {
+            assertFalse("Config should only be null when telephony is not running.", hasTelephony());
             return;
         }
-        if (isSimCardPresent()) {
-            assertNotNull(config);
-        } else {
+        assertNotNull("CarrierConfigManager should not return null config", config);
+        if (!isSimCardPresent()) {
             // Static default in CarrierConfigManager will be returned when no sim card present.
-            assertEquals(config.getBoolean(CarrierConfigManager.KEY_ADDITIONAL_CALL_SETTING_BOOL),
-                         true);
+            assertEquals("Config doesn't match static default.",
+                    config.getBoolean(CarrierConfigManager.KEY_ADDITIONAL_CALL_SETTING_BOOL), true);
         }
     }
 
diff --git a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java b/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
index 5b88525..9a93a60 100644
--- a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java
@@ -18,7 +18,9 @@
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.telephony.CellInfo;
-import android.telephony.PhoneStateListener;
+import android.telephony.CellInfoGsm;
+import android.telephony.CellInfoLte;
+import android.telephony.CellInfoWcdma;
 import android.telephony.TelephonyManager;
 import android.test.AndroidTestCase;
 import android.util.Log;
@@ -36,6 +38,9 @@
     private TelephonyManager mTelephonyManager;
     private static ConnectivityManager mCm;
     private static final String TAG = "android.telephony.cts.CellInfoTest";
+    // Maximum and minimum possible RSSI values(in dbm).
+    private static final int MAX_RRSI = -10;
+    private static final int MIN_RSSI = -150;
 
     @Override
     protected void setUp() throws Exception {
@@ -57,5 +62,66 @@
         assertNotNull("TelephonyManager.getAllCellInfo() returned NULL!", allCellInfo);
         assertTrue("TelephonyManager.getAllCellInfo() returned zero-length list!",
             allCellInfo.size() > 0);
+
+        int numRegisteredCells = 0;
+        for (CellInfo cellInfo : allCellInfo) {
+            if (cellInfo.isRegistered()) {
+                ++numRegisteredCells;
+            }
+            if (cellInfo instanceof CellInfoLte) {
+                verifyLteInfo((CellInfoLte) cellInfo);
+            } else if (cellInfo instanceof CellInfoWcdma) {
+                verifyWcdmaInfo((CellInfoWcdma) cellInfo);
+            } else if (cellInfo instanceof CellInfoGsm) {
+                verifyGsmInfo((CellInfoGsm) cellInfo);
+            }
+        }
+        // At most two cells could be registered.
+        assertTrue("None or too many registered cells : " + numRegisteredCells,
+                numRegisteredCells > 0 && numRegisteredCells <= 2);
+    }
+
+    // Verify lte cell information is within correct range.
+    private void verifyLteInfo(CellInfoLte lte) {
+        verifyRssiDbm(lte.getCellSignalStrength().getDbm());
+        // Verify LTE neighbor information.
+        if (!lte.isRegistered()) {
+            // Only physical cell id is available for LTE neighbor.
+            int pci = lte.getCellIdentity().getPci();
+            // Physical cell id should be within [0, 503].
+            assertTrue("getPci() out of range [0, 503]", pci >= 0 && pci <= 503);
+        }
+    }
+
+    // Verify wcdma cell information is within correct range.
+    private void verifyWcdmaInfo(CellInfoWcdma wcdma) {
+        verifyRssiDbm(wcdma.getCellSignalStrength().getDbm());
+        // Verify wcdma neighbor.
+        if (!wcdma.isRegistered()) {
+            // For wcdma neighbor, only primary scrambling code is available.
+            // Primary scrambling code should be within [0, 511].
+            int psc = wcdma.getCellIdentity().getPsc();
+            assertTrue("getPsc() out of range [0, 511]", psc >= 0 && psc <= 511);
+        }
+    }
+
+    // Verify gsm cell information is within correct range.
+    private void verifyGsmInfo(CellInfoGsm gsm) {
+        verifyRssiDbm(gsm.getCellSignalStrength().getDbm());
+        // Verify gsm neighbor.
+        if (!gsm.isRegistered()) {
+            // lac and cid are available in GSM neighbor information.
+            // Local area code and cellid should be with [0, 65535].
+            int lac = gsm.getCellIdentity().getLac();
+            assertTrue("getLac() out of range [0, 65535]", lac >= 0 && lac <= 65535);
+            int cid = gsm.getCellIdentity().getCid();
+            assertTrue("getCid() out range [0, 65535]", cid >= 0 && cid <= 65535);
+        }
+    }
+
+    // Rssi(in dbm) should be within [MIN_RSSI, MAX_RSSI].
+    private void verifyRssiDbm(int dbm) {
+        assertTrue("getCellSignalStrength().getDbm() out of range",
+                dbm >= MIN_RSSI && dbm <= MAX_RRSI);
     }
 }
diff --git a/tests/tests/telephony/src/android/telephony/cts/SmsManagerTest.java b/tests/tests/telephony/src/android/telephony/cts/SmsManagerTest.java
index 26e0c54..5a80802 100755
--- a/tests/tests/telephony/src/android/telephony/cts/SmsManagerTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/SmsManagerTest.java
@@ -84,6 +84,8 @@
                     "51502",    // Globe Telecoms
                     "51503",    // Smart Communications
                     "51505",    // Sun Cellular
+                    "53001",    // Vodafone New Zealand
+                    "53024",    // NZC
                     "311870",   // Boost Mobile
                     "311220",   // USCC
                     "311225",   // USCC LTE
@@ -100,6 +102,7 @@
                     "310600",    // Cellcom
                     "31000",     // Republic Wireless US
                     "310026",     // T-Mobile US
+                    "330120", // OpenMobile communication
                     // Verizon
                     "310004",
                     "310012",
diff --git a/tests/tests/telephony/src/android/telephony/cts/TelephonyManagerTest.java b/tests/tests/telephony/src/android/telephony/cts/TelephonyManagerTest.java
index ce3fe78..41fe996 100644
--- a/tests/tests/telephony/src/android/telephony/cts/TelephonyManagerTest.java
+++ b/tests/tests/telephony/src/android/telephony/cts/TelephonyManagerTest.java
@@ -177,7 +177,7 @@
                 assertTrue("Phone count should be > 0", phoneCount > 0);
                 break;
             case TelephonyManager.PHONE_TYPE_NONE:
-                assertTrue("Phone count should be 0", phoneCount == 0);
+                assertTrue("Phone count should be 0", phoneCount == 0 || phoneCount == 1);
                 break;
             default:
                 throw new IllegalArgumentException("Did you add a new phone type? " + phoneType);
diff --git a/tests/tests/telephony2/Android.mk b/tests/tests/telephony2/Android.mk
new file mode 100644
index 0000000..f405210
--- /dev/null
+++ b/tests/tests/telephony2/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsTelephony2TestCases
+
+LOCAL_JAVA_LIBRARIES += android.test.runner
+
+include $(BUILD_CTS_PACKAGE)
diff --git a/tests/tests/telephony2/AndroidManifest.xml b/tests/tests/telephony2/AndroidManifest.xml
new file mode 100644
index 0000000..369f75e
--- /dev/null
+++ b/tests/tests/telephony2/AndroidManifest.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.cts.telephony2">
+
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="com.android.cts.telephony2">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+
+</manifest>
+
diff --git a/tests/tests/telephony2/src/android/telephony2/cts/PhoneNumberTest.java b/tests/tests/telephony2/src/android/telephony2/cts/PhoneNumberTest.java
new file mode 100644
index 0000000..65392c4
--- /dev/null
+++ b/tests/tests/telephony2/src/android/telephony2/cts/PhoneNumberTest.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.telephony2.cts;
+
+import android.os.ParcelFileDescriptor;
+import android.telephony.TelephonyManager;
+import android.test.InstrumentationTestCase;
+import android.util.Log;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+public class PhoneNumberTest extends InstrumentationTestCase {
+    private static final String TAG = "PhoneNumberTest";
+
+    private void setDefaultSmsApp(boolean setToSmsApp) {
+        StringBuilder command = new StringBuilder();
+        command.append("appops set ");
+        command.append(getInstrumentation().getContext().getPackageName());
+        command.append(" WRITE_SMS ");
+        command.append(setToSmsApp ? "allow" : "default");
+
+        ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation()
+                .executeShellCommand(command.toString());
+
+        InputStream is = new FileInputStream(pfd.getFileDescriptor());
+        try {
+            final byte[] buffer = new byte[8192];
+            while ((is.read(buffer)) != -1);
+        } catch (IOException e) {
+            Log.e(TAG, "Error managing default SMS app", e);
+        }
+    }
+
+    public void testGetLine1Number() {
+        TelephonyManager tm = getInstrumentation().getContext().getSystemService(
+                TelephonyManager.class);
+
+        setDefaultSmsApp(true);
+
+        // This shouldn't crash.
+        tm.getLine1Number();
+
+        setDefaultSmsApp(false);
+
+        // This should throw now.
+        try {
+            tm.getLine1Number();
+            fail("Should throw SecurityException");
+        } catch (SecurityException expected) {
+        }
+    }
+}
diff --git a/tests/tests/text/src/android/text/format/cts/DateFormatTest.java b/tests/tests/text/src/android/text/format/cts/DateFormatTest.java
index 61fa37d..8ca1fea 100644
--- a/tests/tests/text/src/android/text/format/cts/DateFormatTest.java
+++ b/tests/tests/text/src/android/text/format/cts/DateFormatTest.java
@@ -19,19 +19,23 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.os.ParcelFileDescriptor;
 import android.provider.Settings;
-import android.test.AndroidTestCase;
+import android.test.InstrumentationTestCase;
 import android.text.format.DateFormat;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.Locale;
+import java.util.Scanner;
 import java.util.TimeZone;
 
-public class DateFormatTest extends AndroidTestCase {
+public class DateFormatTest extends InstrumentationTestCase {
 
     private Context mContext;
     private ContentResolver mContentResolver;
@@ -50,12 +54,41 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        mContext = getContext();
+        enableAppOps();
+        mContext = getInstrumentation().getContext();
         mContentResolver = mContext.getContentResolver();
         mIs24HourFormat = DateFormat.is24HourFormat(mContext);
         mDefaultLocale = Locale.getDefault();
     }
 
+    private void enableAppOps() {
+        StringBuilder cmd = new StringBuilder();
+        cmd.append("appops set ");
+        cmd.append(getInstrumentation().getContext().getPackageName());
+        cmd.append(" android:write_settings allow");
+        getInstrumentation().getUiAutomation().executeShellCommand(cmd.toString());
+
+        StringBuilder query = new StringBuilder();
+        query.append("appops get ");
+        query.append(getInstrumentation().getContext().getPackageName());
+        query.append(" android:write_settings");
+        String queryStr = query.toString();
+
+        String result = "No operations.";
+        while (result.contains("No operations")) {
+            ParcelFileDescriptor pfd = getInstrumentation().getUiAutomation().executeShellCommand(
+                                        queryStr);
+            InputStream inputStream = new FileInputStream(pfd.getFileDescriptor());
+            result = convertStreamToString(inputStream);
+        }
+    }
+
+    private String convertStreamToString(InputStream is) {
+        try (Scanner scanner = new Scanner(is).useDelimiter("\\A")) {
+            return scanner.hasNext() ? scanner.next() : "";
+        }
+    }
+
     @Override
     protected void tearDown() throws Exception {
         if (!mIs24HourFormat) {
diff --git a/tests/tests/tv/AndroidManifest.xml b/tests/tests/tv/AndroidManifest.xml
index 41ec835..79406e0 100644
--- a/tests/tests/tv/AndroidManifest.xml
+++ b/tests/tests/tv/AndroidManifest.xml
@@ -22,6 +22,9 @@
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.INJECT_EVENTS" />
 
+    <uses-permission android:name="com.android.providers.tv.permission.READ_EPG_DATA" />
+    <uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
+
     <application>
         <uses-library android:name="android.test.runner" />
 
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/PictureTest.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/PictureTest.java
new file mode 100644
index 0000000..6619b11
--- /dev/null
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/PictureTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.uirendering.cts.testclasses;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Picture;
+import android.graphics.Rect;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.uirendering.cts.bitmapverifiers.ColorVerifier;
+import android.uirendering.cts.bitmapverifiers.RectVerifier;
+import android.uirendering.cts.testinfrastructure.ActivityTestBase;
+import android.uirendering.cts.testinfrastructure.CanvasClient;
+
+public class PictureTest extends ActivityTestBase {
+
+    private static final Rect sRect = new Rect(0, 0, 40, 40);
+    private static final Rect sOffsetRect = new Rect(40, 0, 80, 40);
+
+    private static final Picture greenSquare() {
+        Paint pt = new Paint();
+        pt.setColor(Color.GREEN);
+        Picture pic = new Picture();
+        Canvas subcanvas = pic.beginRecording(ActivityTestBase.TEST_WIDTH,
+                                              ActivityTestBase.TEST_HEIGHT);
+        subcanvas.drawRect(sRect, pt);
+        pic.endRecording();
+
+        return pic;
+    }
+
+    public void testPictureRespectsClip() throws Exception {
+        createTest()
+            .addCanvasClient(
+                new CanvasClient() {
+                    @Override
+                    public void draw(Canvas canvas, int width, int height) {
+                        Picture pic = greenSquare();
+                        canvas.clipRect(sOffsetRect);
+                        pic.draw(canvas);  // should be clipped out
+                    }
+                }
+            ).runWithVerifier(new ColorVerifier(Color.WHITE));
+    }
+
+    public void testPictureRespectsTranslate() throws Exception {
+        createTest()
+            .addCanvasClient(
+                new CanvasClient() {
+                    @Override
+                    public void draw(Canvas canvas, int width, int height) {
+                        Picture pic = greenSquare();
+                        canvas.translate(40, 0);
+                        pic.draw(canvas);  // should be offset
+                    }
+                }
+            ).runWithVerifier(
+                new RectVerifier(Color.WHITE, Color.GREEN, sOffsetRect));
+    }
+}
+
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShaderTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShaderTests.java
new file mode 100644
index 0000000..85764a6
--- /dev/null
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ShaderTests.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.uirendering.cts.testclasses;
+
+import android.graphics.Bitmap;
+import android.graphics.BitmapShader;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.ComposeShader;
+import android.graphics.Paint;
+import android.graphics.PorterDuff;
+import android.graphics.RadialGradient;
+import android.graphics.Shader;
+import android.test.suitebuilder.annotation.SmallTest;
+import android.uirendering.cts.bitmapcomparers.MSSIMComparer;
+import android.uirendering.cts.bitmapverifiers.ColorVerifier;
+import android.uirendering.cts.testinfrastructure.ActivityTestBase;
+import android.uirendering.cts.testinfrastructure.CanvasClient;
+import com.android.cts.uirendering.R;
+
+public class ShaderTests extends ActivityTestBase {
+    @SmallTest
+    public void testSinglePixelBitmapShader() {
+        createTest()
+                .addCanvasClient(new CanvasClient() {
+                    Paint mPaint = new Paint();
+                    @Override
+                    public void draw(Canvas canvas, int width, int height) {
+                        if (mPaint.getShader() == null) {
+                            Bitmap shaderBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+                            shaderBitmap.eraseColor(Color.BLUE);
+                            mPaint.setShader(new BitmapShader(shaderBitmap,
+                                    Shader.TileMode.REPEAT, Shader.TileMode.REPEAT));
+                        }
+                        canvas.drawRect(0, 0, width, height, mPaint);
+                    }
+                })
+                .runWithVerifier(new ColorVerifier(Color.BLUE));
+    }
+
+    @SmallTest
+    public void testSinglePixelComposeShader() {
+        createTest()
+                .addCanvasClient(new CanvasClient() {
+                    Paint mPaint = new Paint();
+
+                    @Override
+                    public void draw(Canvas canvas, int width, int height) {
+                        if (mPaint.getShader() == null) {
+                            // BLUE as SRC for Compose
+                            Bitmap shaderBitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+                            shaderBitmap.eraseColor(Color.BLUE);
+                            BitmapShader bitmapShader = new BitmapShader(shaderBitmap,
+                                    Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
+
+                            // Fully opaque gradient mask (via DST_IN).
+                            // In color array, only alpha channel will matter.
+                            RadialGradient gradientShader = new RadialGradient(
+                                    10, 10, 10,
+                                    new int[] { Color.RED, Color.GREEN, Color.BLUE }, null,
+                                    Shader.TileMode.CLAMP);
+
+                            mPaint.setShader(new ComposeShader(
+                                    bitmapShader, gradientShader, PorterDuff.Mode.DST_IN));
+                        }
+                        canvas.drawRect(0, 0, width, height, mPaint);
+                    }
+                })
+                .runWithVerifier(new ColorVerifier(Color.BLUE));
+    }
+
+    @SmallTest
+    public void testComplexShaderUsage() {
+        /*
+         * This test not only builds a very complex drawing operation, but also tests an
+         * implementation detail of HWUI, using the largest number of texture sample sources
+         * possible - 4.
+         *
+         * 1) Bitmap passed to canvas.drawBitmap
+         * 2) gradient color lookup
+         * 3) gradient dither lookup
+         * 4) Bitmap in BitmapShader
+          */
+        createTest()
+                .addCanvasClient(new CanvasClient() {
+                    Paint mPaint = new Paint();
+                    Bitmap mBitmap;
+
+                    @Override
+                    public void draw(Canvas canvas, int width, int height) {
+                        if (mBitmap == null) {
+                            mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);
+                            // Primary content mask
+                            Canvas bitmapCanvas = new Canvas(mBitmap);
+                            final float radius = width / 2.0f;
+                            bitmapCanvas.drawCircle(width / 2, height / 2, radius, mPaint);
+
+                            // Bitmap shader mask, partially overlapping content
+                            Bitmap shaderBitmap = Bitmap.createBitmap(
+                                    width, height, Bitmap.Config.ALPHA_8);
+                            bitmapCanvas = new Canvas(shaderBitmap);
+                            bitmapCanvas.drawCircle(width / 2, 0, radius, mPaint);
+                            bitmapCanvas.drawCircle(width / 2, height, radius, mPaint);
+                            BitmapShader bitmapShader = new BitmapShader(shaderBitmap,
+                                    Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
+
+                            // Gradient fill
+                            RadialGradient gradientShader = new RadialGradient(
+                                    width / 2, height / 2, radius,
+                                    new int[] { Color.RED, Color.BLUE, Color.GREEN },
+                                    null, Shader.TileMode.CLAMP);
+
+                            mPaint.setShader(new ComposeShader(gradientShader, bitmapShader,
+                                    PorterDuff.Mode.DST_IN));
+                        }
+                        canvas.drawBitmap(mBitmap, 0, 0, mPaint);
+                    }
+                })
+                // expect extremely similar rendering results between SW and HW, since there's no AA
+                .runWithComparer(new MSSIMComparer(0.98f));
+    }
+}
diff --git a/tests/tests/util/src/android/util/cts/ArrayMapTest.java b/tests/tests/util/src/android/util/cts/ArrayMapTest.java
index 7fdd0da..130b354 100644
--- a/tests/tests/util/src/android/util/cts/ArrayMapTest.java
+++ b/tests/tests/util/src/android/util/cts/ArrayMapTest.java
@@ -310,7 +310,7 @@
 
     private static void dump(ArrayMap map1, ArrayMap map2) {
         Log.e("test", "ArrayMap of " + map1.size() + " entries:");
-        for (int i=0; i<map2.size(); i++) {
+        for (int i=0; i<map1.size(); i++) {
             Log.e("test", "    " + map1.keyAt(i) + " -> " + map1.valueAt(i));
         }
         Log.e("test", "ArrayMap of " + map2.size() + " entries:");
diff --git a/tests/tests/util/src/android/util/cts/ArraySetTest.java b/tests/tests/util/src/android/util/cts/ArraySetTest.java
new file mode 100644
index 0000000..112459c
--- /dev/null
+++ b/tests/tests/util/src/android/util/cts/ArraySetTest.java
@@ -0,0 +1,495 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.util.cts;
+
+import android.test.AndroidTestCase;
+import android.util.ArraySet;
+import android.util.Log;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
+// As is the case with ArraySet itself, ArraySetTest borrows heavily from ArrayMapTest.
+
+public class ArraySetTest extends AndroidTestCase {
+    private static final String TAG = "ArraySetTest";
+
+    private static final boolean DEBUG = false;
+
+    private static final int OP_ADD = 1;
+    private static final int OP_REM = 2;
+
+    private static int[] OPS = new int[] {
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD, OP_ADD,
+            OP_ADD, OP_ADD, OP_ADD,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+            OP_REM, OP_REM, OP_REM,
+            OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM, OP_REM,
+    };
+
+    private static int[] KEYS = new int[] {
+            // General adding and removing.
+              -1,   1900,    600,    200,   1200,   1500,   1800,    100,   1900,
+            2100,    300,    800,    600,   1100,   1300,   2000,   1000,   1400,
+             600,     -1,   1900,    600,    300,   2100,    200,    800,    800,
+            1800,   1500,   1300,   1100,   2000,   1400,   1000,   1200,   1900,
+
+            // Shrink when removing item from end.
+             100,    200,    300,    400,    500,    600,    700,    800,    900,
+             900,    800,    700,    600,    500,    400,    300,    200,    100,
+
+            // Shrink when removing item from middle.
+             100,    200,    300,    400,    500,    600,    700,    800,    900,
+             900,    800,    700,    600,    500,    400,    200,    300,    100,
+
+            // Shrink when removing item from front.
+             100,    200,    300,    400,    500,    600,    700,    800,    900,
+             900,    800,    700,    600,    500,    400,    100,    200,    300,
+
+            // Test hash collisions.
+             105,    106,    108,    104,    102,    102,    107,      5,    205,
+               4,    202,    203,      3,      5,    101,    109,    200,    201,
+               0,     -1,    100,
+             106,    108,    104,    102,    103,    105,    107,    101,    109,
+              -1,    100,      0,
+               4,      5,      3,      5,    200,    203,    202,    201,    205,
+    };
+
+    public static class ControlledHash {
+        final int mValue;
+
+        ControlledHash(int value) {
+            mValue = value;
+        }
+
+        @Override
+        public final boolean equals(Object o) {
+            if (o == null) {
+                return false;
+            }
+            return mValue == ((ControlledHash)o).mValue;
+        }
+
+        @Override
+        public final int hashCode() {
+            return mValue/100;
+        }
+
+        @Override
+        public final String toString() {
+            return Integer.toString(mValue);
+        }
+    }
+
+    private static boolean compare(Object v1, Object v2) {
+        if (v1 == null) {
+            return v2 == null;
+        }
+        if (v2 == null) {
+            return false;
+        }
+        return v1.equals(v2);
+    }
+
+    private static <E> void compareSets(HashSet<E> set, ArraySet<E> array) {
+        assertEquals("Bad size", set.size(), array.size());
+
+        // Check that every entry in HashSet is in ArraySet.
+        for (E entry : set) {
+            assertTrue("ArraySet missing value: " + entry, array.contains(entry));
+        }
+
+        // Check that every entry in ArraySet is in HashSet using ArraySet.iterator().
+        for (E entry : array) {
+            assertTrue("ArraySet (via iterator) has unexpected value: " + entry,
+                    set.contains(entry));
+        }
+
+        // Check that every entry in ArraySet is in HashSet using ArraySet.valueAt().
+        for (int i = 0; i < array.size(); ++i) {
+            E entry = array.valueAt(i);
+            assertTrue("ArraySet (via valueAt) has unexpected value: " + entry,
+                    set.contains(entry));
+        }
+
+        if (set.hashCode() != array.hashCode()) {
+            assertEquals("Set hash codes differ", set.hashCode(), array.hashCode());
+        }
+
+        assertTrue("HashSet.equals(ArraySet) failed", set.equals(array));
+        assertTrue("ArraySet.equals(HashSet) failed", array.equals(set));
+
+        assertTrue("HashSet.containsAll(ArraySet) failed", set.containsAll(array));
+        assertTrue("ArraySet.containsAll(HashSet) failed", array.containsAll(set));
+    }
+
+    private static <E> void compareArraySetAndRawArray(ArraySet<E> arraySet, Object[] rawArray) {
+        assertEquals("Bad size", arraySet.size(), rawArray.length);
+        for (int i = 0; i < rawArray.length; ++i) {
+            assertEquals("ArraySet<E> and raw array unequal at index " + i,
+                    arraySet.valueAt(i), rawArray[i]);
+        }
+    }
+
+    private static <E> void validateArraySet(ArraySet<E> array) {
+        int index = 0;
+        Iterator<E> iter = array.iterator();
+        while (iter.hasNext()) {
+            E value = iter.next();
+            E realValue = array.valueAt(index);
+            if (!compare(realValue, value)) {
+                fail("Bad array set entry: expected " + realValue
+                        + ", got " + value + " at index " + index);
+            }
+            index++;
+        }
+
+        assertEquals("Length of iteration was unequal to size()", array.size(), index);
+    }
+
+    private static <E> void dump(HashSet<E> set, ArraySet<E> array) {
+        Log.e(TAG, "HashSet of " + set.size() + " entries:");
+        for (E entry : set) {
+            Log.e(TAG, "    " + entry);
+        }
+        Log.e(TAG, "ArraySet of " + array.size() + " entries:");
+        for (int i = 0; i < array.size(); i++) {
+            Log.e(TAG, "    " + array.valueAt(i));
+        }
+    }
+
+    private static void dump(ArraySet set1, ArraySet set2) {
+        Log.e(TAG, "ArraySet of " + set1.size() + " entries:");
+        for (int i = 0; i < set1.size(); i++) {
+            Log.e(TAG, "    " + set1.valueAt(i));
+        }
+        Log.e(TAG, "ArraySet of " + set2.size() + " entries:");
+        for (int i = 0; i < set2.size(); i++) {
+            Log.e(TAG, "    " + set2.valueAt(i));
+        }
+    }
+
+    public void testTest() {
+        assertEquals("OPS and KEYS must be equal length", OPS.length, KEYS.length);
+    }
+
+    public void testBasicArraySet() {
+        HashSet<ControlledHash> hashSet = new HashSet<ControlledHash>();
+        ArraySet<ControlledHash> arraySet = new ArraySet<ControlledHash>();
+
+        for (int i = 0; i < OPS.length; i++) {
+            ControlledHash key = KEYS[i] < 0 ? null : new ControlledHash(KEYS[i]);
+            String strKey = KEYS[i] < 0 ? null : Integer.toString(KEYS[i]);
+            switch (OPS[i]) {
+                case OP_ADD:
+                    if (DEBUG) Log.i(TAG, "Adding key: " + key);
+                    boolean hashAdded = hashSet.add(key);
+                    boolean arrayAdded = arraySet.add(key);
+                    assertEquals("Adding key " + key + " was not symmetric in HashSet and "
+                            + "ArraySet", hashAdded, arrayAdded);
+                    break;
+                case OP_REM:
+                    if (DEBUG) Log.i(TAG, "Removing key: " + key);
+                    boolean hashRemoved = hashSet.remove(key);
+                    boolean arrayRemoved = arraySet.remove(key);
+                    assertEquals("Removing key " + key + " was not symmetric in HashSet and "
+                            + "ArraySet", hashRemoved, arrayRemoved);
+                    break;
+                default:
+                    fail("Bad operation " + OPS[i] + " @ " + i);
+                    return;
+            }
+            if (DEBUG) dump(hashSet, arraySet);
+
+            try {
+                validateArraySet(arraySet);
+            } catch (Throwable e) {
+                Log.e(TAG, e.getMessage());
+                dump(hashSet, arraySet);
+                throw e;
+            }
+
+            try {
+                compareSets(hashSet, arraySet);
+            } catch (Throwable e) {
+                Log.e(TAG, e.getMessage());
+                dump(hashSet, arraySet);
+                throw e;
+            }
+        }
+
+        // Check to see if HashSet.iterator().remove() works as expected.
+        arraySet.add(new ControlledHash(50000));
+        ControlledHash lookup = new ControlledHash(50000);
+        Iterator<ControlledHash> it = arraySet.iterator();
+        while (it.hasNext()) {
+            if (it.next().equals(lookup)) {
+                it.remove();
+            }
+        }
+        if (arraySet.contains(lookup)) {
+            String msg = "Bad ArraySet iterator: didn't remove test key";
+            Log.e(TAG, msg);
+            dump(hashSet, arraySet);
+            fail(msg);
+        }
+
+        Log.e(TAG, "Test successful; printing final map.");
+        dump(hashSet, arraySet);
+    }
+
+    public void testCopyArraySet() {
+        // set copy constructor test
+        ArraySet newSet = new ArraySet<Integer>();
+        for (int i = 0; i < 10; ++i) {
+            newSet.add(i);
+        }
+
+        ArraySet copySet = new ArraySet(newSet);
+        if (!compare(copySet, newSet)) {
+            String msg = "ArraySet copy constructor failure: expected " +
+                    newSet + ", got " + copySet;
+            Log.e(TAG, msg);
+            dump(newSet, copySet);
+            fail(msg);
+            return;
+        }
+    }
+
+    public void testEqualsArrayMap() {
+        ArraySet<Integer> set1 = new ArraySet<Integer>();
+        ArraySet<Integer> set2 = new ArraySet<Integer>();
+        HashSet<Integer> set3 = new HashSet<Integer>();
+        if (!compare(set1, set2) || !compare(set1, set3) || !compare(set3, set2)) {
+            fail("ArraySet equals failure for empty sets " + set1 + ", " +
+                    set2 + ", " + set3);
+        }
+
+        for (int i = 0; i < 10; ++i) {
+            set1.add(i);
+            set2.add(i);
+            set3.add(i);
+        }
+        if (!compare(set1, set2) || !compare(set1, set3) || !compare(set3, set2)) {
+            fail("ArraySet equals failure for populated sets " + set1 + ", " +
+                    set2 + ", " + set3);
+        }
+
+        set1.remove(0);
+        if (compare(set1, set2) || compare(set1, set3) || compare(set3, set1)) {
+            fail("ArraySet equals failure for set size " + set1 + ", " +
+                    set2 + ", " + set3);
+        }
+    }
+
+    public void testIsEmpty() {
+        ArraySet<Integer> set = new ArraySet<Integer>();
+        assertEquals("New ArraySet should have size==0", 0, set.size());
+        assertTrue("New ArraySet should be isEmptry", set.isEmpty());
+
+        set.add(3);
+        assertEquals("ArraySet has incorrect size", 1, set.size());
+        assertFalse("ArraySet should not be isEmptry", set.isEmpty());
+
+        set.remove(3);
+        assertEquals("ArraySet should have size==0", 0, set.size());
+        assertTrue("ArraySet should be isEmptry", set.isEmpty());
+    }
+
+    public void testRemoveAt() {
+        ArraySet<Integer> set = new ArraySet<Integer>();
+
+        for (int i = 0; i < 10; ++i) {
+            set.add(i * 10);
+        }
+
+        int indexToDelete = 6;
+        assertEquals(10, set.size());
+        assertEquals(indexToDelete * 10, set.valueAt(indexToDelete).intValue());
+        assertEquals(indexToDelete * 10, set.removeAt(indexToDelete).intValue());
+        assertEquals(9, set.size());
+
+        for (int i = 0; i < 9; ++i) {
+            int expectedValue = ((i >= indexToDelete) ? (i + 1) : i) * 10;
+            assertEquals(expectedValue, set.valueAt(i).intValue());
+        }
+
+        for (int i = 9; i > 0; --i) {
+            set.removeAt(0);
+            assertEquals(i - 1, set.size());
+        }
+
+        assertTrue(set.isEmpty());
+
+        try {
+            set.removeAt(0);
+            fail("Expected ArrayIndexOutOfBoundsException");
+        } catch (ArrayIndexOutOfBoundsException expected) {
+            // expected
+        }
+    }
+
+    public void testIndexOf() {
+        ArraySet<Integer> set = new ArraySet<Integer>();
+
+        for (int i = 0; i < 10; ++i) {
+            set.add(i * 10);
+        }
+
+        for (int i = 0; i < 10; ++i) {
+            assertEquals("indexOf(" + (i * 10) + ")", i, set.indexOf(i * 10));
+        }
+    }
+
+    public void testAddAll() {
+        ArraySet<Integer> arraySet = new ArraySet<Integer>();
+        ArraySet<Integer> testArraySet = new ArraySet<Integer>();
+        ArrayList<Integer> testArrayList = new ArrayList<Integer>();
+
+        for (int i = 0; i < 10; ++i) {
+            testArraySet.add(i * 10);
+            testArrayList.add(i * 10);
+        }
+
+        assertTrue(arraySet.isEmpty());
+
+        // addAll(ArraySet) has no return value.
+        arraySet.addAll(testArraySet);
+        assertTrue("ArraySet.addAll(ArraySet) failed", arraySet.containsAll(testArraySet));
+
+        arraySet.clear();
+        assertTrue(arraySet.isEmpty());
+
+        // addAll(Collection) returns true if any items were added.
+        assertTrue(arraySet.addAll(testArrayList));
+        assertTrue("ArraySet.addAll(Container) failed", arraySet.containsAll(testArrayList));
+        assertTrue("ArraySet.addAll(Container) failed", arraySet.containsAll(testArraySet));
+        // Adding the same Collection should return false.
+        assertFalse(arraySet.addAll(testArrayList));
+        assertTrue("ArraySet.addAll(Container) failed", arraySet.containsAll(testArrayList));
+    }
+
+    public void testRemoveAll() {
+        ArraySet<Integer> arraySet = new ArraySet<Integer>();
+        ArraySet<Integer> arraySetToRemove = new ArraySet<Integer>();
+        ArrayList<Integer> arrayListToRemove = new ArrayList<Integer>();
+
+        for (int i = 0; i < 10; ++i) {
+            arraySet.add(i * 10);
+        }
+
+        for (int i = 6; i < 15; ++i) {
+            arraySetToRemove.add(i * 10);
+        }
+
+        for (int i = 3; i > -3; --i) {
+            arrayListToRemove.add(i * 10);
+        }
+
+        assertEquals(10, arraySet.size());
+
+        // Remove [6,14] (really [6,9]) via another ArraySet.
+        assertTrue(arraySet.removeAll(arraySetToRemove));
+        assertEquals(6, arraySet.size());
+        assertFalse(arraySet.removeAll(arraySetToRemove));
+        assertEquals(6, arraySet.size());
+
+        // Remove [-2,3] (really [0,3]) via an ArrayList (ie Collection).
+        assertTrue(arraySet.removeAll(arrayListToRemove));
+        assertEquals(2, arraySet.size());
+        assertFalse(arraySet.removeAll(arrayListToRemove));
+        assertEquals(2, arraySet.size());
+
+        // Remove the rest of the items.
+        ArraySet<Integer> copy = new ArraySet<Integer>(arraySet);
+        assertTrue(arraySet.removeAll(copy));
+        assertEquals(0, arraySet.size());
+        assertFalse(arraySet.removeAll(copy));
+        assertEquals(0, arraySet.size());
+    }
+
+    public void testRetainAll() {
+        ArraySet<Integer> arraySet = new ArraySet<Integer>();
+        ArrayList<Integer> arrayListToRetain = new ArrayList<Integer>();
+
+        for (int i = 0; i < 10; ++i) {
+            arraySet.add(i * 10);
+        }
+
+        arrayListToRetain.add(30);
+        arrayListToRetain.add(50);
+        arrayListToRetain.add(51); // bogus value
+
+        assertEquals(10, arraySet.size());
+
+        assertTrue(arraySet.retainAll(arrayListToRetain));
+        assertEquals(2, arraySet.size());
+
+        assertTrue(arraySet.contains(30));
+        assertTrue(arraySet.contains(50));
+        assertFalse(arraySet.contains(51));
+
+        // Nothing should change.
+        assertFalse(arraySet.retainAll(arrayListToRetain));
+        assertEquals(2, arraySet.size());
+    }
+
+    public void testToArray() {
+        ArraySet<Integer> arraySet = new ArraySet<Integer>();
+        for (int i = 0; i < 10; ++i) {
+            arraySet.add(i * 10);
+        }
+
+        // Allocate a new array with the right type given a zero-length ephemeral array.
+        Integer[] copiedArray = arraySet.toArray(new Integer[0]);
+        compareArraySetAndRawArray(arraySet, copiedArray);
+
+        // Allocate a new array with the right type given an undersized array.
+        Integer[] undersizedArray = new Integer[5];
+        copiedArray = arraySet.toArray(undersizedArray);
+        compareArraySetAndRawArray(arraySet, copiedArray);
+        assertNotSame(undersizedArray, copiedArray);
+
+        // Use the passed array that is large enough to hold the ArraySet.
+        Integer[] rightSizedArray = new Integer[10];
+        copiedArray = arraySet.toArray(rightSizedArray);
+        compareArraySetAndRawArray(arraySet, copiedArray);
+        assertSame(rightSizedArray, copiedArray);
+
+        // Create a new Object[] array.
+        Object[] objectArray = arraySet.toArray();
+        compareArraySetAndRawArray(arraySet, objectArray);
+    }
+}
diff --git a/tests/tests/view/AndroidManifest.xml b/tests/tests/view/AndroidManifest.xml
index 9ccbeb4..b7e0076 100644
--- a/tests/tests/view/AndroidManifest.xml
+++ b/tests/tests/view/AndroidManifest.xml
@@ -92,7 +92,7 @@
         </activity>
 
         <activity android:name="android.view.animation.cts.GridLayoutAnimCtsActivity"
-            android:label="GridLayoutAnimCtsActivity">
+            android:label="GridLayoutAnimCtsActivity" android:configChanges="orientation|screenSize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
@@ -100,7 +100,7 @@
         </activity>
 
         <activity android:name="android.view.animation.cts.LayoutAnimCtsActivity"
-            android:label="LayoutAnimCtsActivity">
+            android:label="LayoutAnimCtsActivity" android:configChanges="orientation|screenSize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN"/>
                 <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
@@ -150,7 +150,11 @@
         <activity android:name="android.view.cts.GestureDetectorCtsActivity"
             android:label="GestureDetectorCtsActivity"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
-            
+
+        <activity android:name="android.view.cts.ScaleGestureDetectorCtsActivity"
+            android:label="ScaleGestureDetectorCtsActivity"
+            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
+
         <activity android:name="android.view.cts.GLSurfaceViewCtsActivity"
             android:label="GLSurfaceViewCts"/>
 
@@ -171,6 +175,14 @@
             </intent-filter>
         </activity>
 
+        <activity android:name="android.view.cts.SearchEventActivity"
+            android:label="SearchEventActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
+            </intent-filter>
+        </activity>
+
         <activity android:name="android.view.cts.CtsActivity"
             android:label="CtsActivity">
             <intent-filter>
diff --git a/tests/tests/view/src/android/view/cts/GestureDetectorCtsActivity.java b/tests/tests/view/src/android/view/cts/GestureDetectorCtsActivity.java
index f02a0d6..1c02a89 100644
--- a/tests/tests/view/src/android/view/cts/GestureDetectorCtsActivity.java
+++ b/tests/tests/view/src/android/view/cts/GestureDetectorCtsActivity.java
@@ -25,6 +25,7 @@
 import android.view.ViewGroup;
 import android.view.GestureDetector.SimpleOnGestureListener;
 import android.view.View.OnTouchListener;
+import android.view.View.OnGenericMotionListener;
 import android.widget.Button;
 
 public class GestureDetectorCtsActivity extends Activity {
@@ -38,6 +39,7 @@
     public boolean onDoubleTap;
     public boolean onDoubleTapEvent;
     public boolean onSingleTapConfirmed;
+    public boolean onContextClick;
 
     private GestureDetector mGestureDetector;
     private MockOnGestureListener mOnGestureListener;
@@ -56,6 +58,7 @@
 
         mGestureDetector = new GestureDetector(this, mOnGestureListener, mHandler);
         mGestureDetector.setOnDoubleTapListener(mOnGestureListener);
+        mGestureDetector.setContextClickListener(mOnGestureListener);
         mView = new View(this);
         mButton = new Button(this);
         mTop = new Button(this);
@@ -86,7 +89,13 @@
         return mGestureDetector;
     }
 
+    public MockOnGestureListener getListener() {
+        return mOnGestureListener;
+    }
+
     public class MockOnGestureListener extends SimpleOnGestureListener {
+        private MotionEvent mPreviousContextClickEvent;
+
         public boolean onDown(MotionEvent e) {
             isDown = true;
             return true;
@@ -129,14 +138,29 @@
             onSingleTapConfirmed = true;
             return false;
         }
+
+        public boolean onContextClick(MotionEvent e) {
+            onContextClick = true;
+            mPreviousContextClickEvent = e;
+            return false;
+        }
+
+        public MotionEvent getPreviousContextClickEvent() {
+            return mPreviousContextClickEvent;
+        }
     }
 
-    class MockOnTouchListener implements OnTouchListener {
+    class MockOnTouchListener implements OnTouchListener, OnGenericMotionListener {
 
         public boolean onTouch(View v, MotionEvent event) {
             mGestureDetector.onTouchEvent(event);
             return true;
         }
+
+        public boolean onGenericMotion(View v, MotionEvent event) {
+            mGestureDetector.onGenericMotionEvent(event);
+            return true;
+        }
     }
 
 }
diff --git a/tests/tests/view/src/android/view/cts/GestureDetectorTest.java b/tests/tests/view/src/android/view/cts/GestureDetectorTest.java
index c568cf1..f06455d 100644
--- a/tests/tests/view/src/android/view/cts/GestureDetectorTest.java
+++ b/tests/tests/view/src/android/view/cts/GestureDetectorTest.java
@@ -19,18 +19,31 @@
 import android.content.Context;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.SystemClock;
 import android.test.ActivityInstrumentationTestCase2;
 import android.test.UiThreadTest;
+import android.view.cts.GestureDetectorCtsActivity.MockOnGestureListener;
 import android.view.GestureDetector;
+import android.view.KeyEvent;
+import android.view.MotionEvent;
 import android.view.GestureDetector.SimpleOnGestureListener;
 
 public class GestureDetectorTest extends
         ActivityInstrumentationTestCase2<GestureDetectorCtsActivity> {
 
+    private static final float X_3F = 3.0f;
+    private static final float Y_4F = 4.0f;
+
     private GestureDetector mGestureDetector;
     private GestureDetectorCtsActivity mActivity;
+    private MockOnGestureListener mListener;
     private Context mContext;
 
+    private long mDownTime;
+    private long mEventTime;
+    private MotionEvent mButtonPressPrimaryMotionEvent;
+    private MotionEvent mButtonPressSecondaryMotionEvent;
+
     public GestureDetectorTest() {
         super("com.android.cts.view", GestureDetectorCtsActivity.class);
     }
@@ -40,6 +53,7 @@
         super.setUp();
         mActivity = getActivity();
         mGestureDetector = mActivity.getGestureDetector();
+        mListener = mActivity.getListener();
         mContext = getInstrumentation().getTargetContext();
         mActivity.isDown = false;
         mActivity.isScroll = false;
@@ -50,6 +64,17 @@
         mActivity.onDoubleTap = false;
         mActivity.onDoubleTapEvent = false;
         mActivity.onSingleTapConfirmed = false;
+        mActivity.onContextClick = false;
+
+        mDownTime = SystemClock.uptimeMillis();
+        mEventTime = SystemClock.uptimeMillis();
+        mButtonPressPrimaryMotionEvent = MotionEvent.obtain(mDownTime, mEventTime,
+                MotionEvent.ACTION_BUTTON_PRESS, X_3F, Y_4F, 0);
+        mButtonPressPrimaryMotionEvent.setActionButton(MotionEvent.BUTTON_STYLUS_PRIMARY);
+
+        mButtonPressSecondaryMotionEvent = MotionEvent.obtain(mDownTime, mEventTime,
+                MotionEvent.ACTION_BUTTON_PRESS, X_3F, Y_4F, 0);
+        mButtonPressSecondaryMotionEvent.setActionButton(MotionEvent.BUTTON_SECONDARY);
     }
 
     @UiThreadTest
@@ -75,4 +100,35 @@
         mGestureDetector.setIsLongpressEnabled(false);
         assertFalse(mGestureDetector.isLongpressEnabled());
     }
+
+    public void testOnSetContextClickListener() {
+        mActivity.onContextClick = false;
+        mGestureDetector.setContextClickListener(null);
+        mGestureDetector.onGenericMotionEvent(mButtonPressPrimaryMotionEvent);
+        assertFalse(mActivity.onContextClick);
+
+        mGestureDetector.setContextClickListener(mListener);
+        mGestureDetector.onGenericMotionEvent(mButtonPressPrimaryMotionEvent);
+        assertTrue(mActivity.onContextClick);
+        assertSame(mButtonPressPrimaryMotionEvent, mListener.getPreviousContextClickEvent());
+    }
+
+    public void testOnContextClick() {
+        mActivity.onContextClick = false;
+        mListener.onContextClick(mButtonPressPrimaryMotionEvent);
+        assertTrue(mActivity.onContextClick);
+        assertSame(mButtonPressPrimaryMotionEvent, mListener.getPreviousContextClickEvent());
+
+        mActivity.onContextClick = false;
+        mGestureDetector.onGenericMotionEvent(mButtonPressSecondaryMotionEvent);
+        assertTrue(mActivity.onContextClick);
+        assertSame(mButtonPressSecondaryMotionEvent, mListener.getPreviousContextClickEvent());
+    }
+
+    public void testOnGenericMotionEvent() {
+        mActivity.onContextClick = false;
+        mGestureDetector.onGenericMotionEvent(mButtonPressPrimaryMotionEvent);
+        assertTrue(mActivity.onContextClick);
+        assertSame(mButtonPressPrimaryMotionEvent, mListener.getPreviousContextClickEvent());
+    }
 }
diff --git a/tests/tests/view/src/android/view/cts/ScaleGestureDetectorCtsActivity.java b/tests/tests/view/src/android/view/cts/ScaleGestureDetectorCtsActivity.java
new file mode 100644
index 0000000..606d536
--- /dev/null
+++ b/tests/tests/view/src/android/view/cts/ScaleGestureDetectorCtsActivity.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view.cts;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.os.Handler;
+import android.view.ScaleGestureDetector;
+import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
+
+public class ScaleGestureDetectorCtsActivity extends Activity {
+
+    private ScaleGestureDetector mScaleGestureDetector;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mScaleGestureDetector = new ScaleGestureDetector(this, new SimpleOnScaleGestureListener(),
+                new Handler());
+    }
+
+    public ScaleGestureDetector getScaleGestureDetector() {
+        return mScaleGestureDetector;
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/view/src/android/view/cts/ScaleGestureDetectorTest.java b/tests/tests/view/src/android/view/cts/ScaleGestureDetectorTest.java
new file mode 100644
index 0000000..b8ba200
--- /dev/null
+++ b/tests/tests/view/src/android/view/cts/ScaleGestureDetectorTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view.cts;
+
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.test.ActivityInstrumentationTestCase2;
+import android.test.UiThreadTest;
+import android.view.ScaleGestureDetector;
+import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
+
+public class ScaleGestureDetectorTest extends
+        ActivityInstrumentationTestCase2<ScaleGestureDetectorCtsActivity> {
+
+    private ScaleGestureDetector mScaleGestureDetector;
+    private ScaleGestureDetectorCtsActivity mActivity;
+    private Context mContext;
+
+    public ScaleGestureDetectorTest() {
+        super("com.android.cts.view", ScaleGestureDetectorCtsActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mActivity = getActivity();
+        mScaleGestureDetector = mActivity.getScaleGestureDetector();
+        mContext = getInstrumentation().getTargetContext();
+    }
+
+    @UiThreadTest
+    public void testConstructor() {
+        new ScaleGestureDetector(
+                mContext, new SimpleOnScaleGestureListener(), new Handler(Looper.getMainLooper()));
+        new ScaleGestureDetector(mContext, new SimpleOnScaleGestureListener());
+    }
+
+    public void testAccessStylusScaleEnabled() {
+        assertTrue(mScaleGestureDetector.isStylusScaleEnabled());
+        mScaleGestureDetector.setStylusScaleEnabled(true);
+
+        mScaleGestureDetector.setStylusScaleEnabled(false);
+        assertFalse(mScaleGestureDetector.isStylusScaleEnabled());
+    }
+}
\ No newline at end of file
diff --git a/tests/tests/view/src/android/view/cts/SearchEventActivity.java b/tests/tests/view/src/android/view/cts/SearchEventActivity.java
new file mode 100644
index 0000000..6cc8c85
--- /dev/null
+++ b/tests/tests/view/src/android/view/cts/SearchEventActivity.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view.cts;
+
+import com.android.cts.view.R;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.view.SearchEvent;
+
+public class SearchEventActivity extends Activity {
+
+    private static SearchEvent mSearchEvent;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.windowstub_layout);
+    }
+
+    @Override
+    public boolean onSearchRequested() {
+        mSearchEvent = getSearchEvent();
+        return true;
+    }
+
+    public SearchEvent getTestSearchEvent() {
+        return mSearchEvent;
+    }
+
+    public void reset() {
+        mSearchEvent = null;
+    }
+}
diff --git a/tests/tests/view/src/android/view/cts/SearchEventTest.java b/tests/tests/view/src/android/view/cts/SearchEventTest.java
new file mode 100644
index 0000000..4df52a1
--- /dev/null
+++ b/tests/tests/view/src/android/view/cts/SearchEventTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view.cts;
+
+import com.android.cts.view.R;
+
+import android.app.Instrumentation;
+import android.test.ActivityInstrumentationTestCase2;
+import android.view.InputDevice;
+import android.view.KeyEvent;
+import android.view.SearchEvent;
+
+public class SearchEventTest extends ActivityInstrumentationTestCase2<SearchEventActivity> {
+
+    private Instrumentation mInstrumentation;
+    private SearchEventActivity mActivity;
+
+    public SearchEventTest() {
+        super(SearchEventActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mInstrumentation = getInstrumentation();
+        mActivity = getActivity();
+    }
+
+    public void testTest() throws Exception {
+        mInstrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_SEARCH);
+        SearchEvent se = mActivity.getTestSearchEvent();
+        assertNotNull(se);
+        InputDevice id = se.getInputDevice();
+        assertNotNull(id);
+        assertEquals(-1, id.getId());
+    }
+}
diff --git a/tests/tests/view/src/android/view/cts/ViewTest.java b/tests/tests/view/src/android/view/cts/ViewTest.java
index e95236d..2c5b30a 100644
--- a/tests/tests/view/src/android/view/cts/ViewTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewTest.java
@@ -1340,6 +1340,7 @@
 
         assertTrue(view.performContextClick());
         assertTrue(listener.hasOnContextClick());
+        assertSame(view, listener.getLastViewContextClicked());
     }
 
     public void testSetOnContextClickListener() {
@@ -3987,6 +3988,7 @@
 
     private static final class OnContextClickListenerImpl implements OnContextClickListener {
         private boolean mHasContextClick = false;
+        private View mLastViewContextClicked;
 
         public boolean hasOnContextClick() {
             return mHasContextClick;
@@ -3994,12 +3996,18 @@
 
         public void reset() {
             mHasContextClick = false;
+            mLastViewContextClicked = null;
         }
 
         public boolean onContextClick(View v) {
             mHasContextClick = true;
+            mLastViewContextClicked = v;
             return true;
         }
+
+        public View getLastViewContextClicked() {
+            return mLastViewContextClicked;
+        }
     }
 
     private static final class OnFocusChangeListenerImpl implements OnFocusChangeListener {
diff --git a/tests/tests/voiceinteraction/common/src/android/voiceinteraction/common/Utils.java b/tests/tests/voiceinteraction/common/src/android/voiceinteraction/common/Utils.java
index 4ef0c03..ff3bcfd 100644
--- a/tests/tests/voiceinteraction/common/src/android/voiceinteraction/common/Utils.java
+++ b/tests/tests/voiceinteraction/common/src/android/voiceinteraction/common/Utils.java
@@ -34,6 +34,7 @@
         PICKOPTION_REQUEST_CANCEL_TEST,
         COMMANDREQUEST_TEST,
         COMMANDREQUEST_CANCEL_TEST,
+        SUPPORTS_COMMANDS_TEST,
     }
     public static final String TESTCASE_TYPE = "testcase_type";
     public static final String TESTINFO = "testinfo";
@@ -51,6 +52,7 @@
     public static final String ABORT_REQUEST_SUCCESS = "abort ok";
     public static final String PICKOPTION_REQUEST_SUCCESS = "pickoption ok";
     public static final String COMMANDREQUEST_SUCCESS = "commandrequest ok";
+    public static final String SUPPORTS_COMMANDS_SUCCESS = "supportsCommands ok";
 
     public static final String CONFIRMATION_REQUEST_CANCEL_SUCCESS = "confirm cancel ok";
     public static final String COMPLETION_REQUEST_CANCEL_SUCCESS = "completion canel ok";
diff --git a/tests/tests/voiceinteraction/service/src/android/voiceinteraction/service/MainInteractionSession.java b/tests/tests/voiceinteraction/service/src/android/voiceinteraction/service/MainInteractionSession.java
index a5068e0..eeb4047 100644
--- a/tests/tests/voiceinteraction/service/src/android/voiceinteraction/service/MainInteractionSession.java
+++ b/tests/tests/voiceinteraction/service/src/android/voiceinteraction/service/MainInteractionSession.java
@@ -84,7 +84,7 @@
         Log.i(TAG, "in onGetSupportedCommands");
         for (int idx = 0; idx < commands.length; idx++) {
             results[idx] = Utils.TEST_COMMAND.equals(commands[idx]);
-            Log.i(TAG, "command is " + commands[idx]);
+            Log.i(TAG, "command " + commands[idx] + ", support = " + results[idx]);
         }
         return results;
     }
diff --git a/tests/tests/voiceinteraction/src/android/voiceinteraction/cts/VoiceInteractionTest.java b/tests/tests/voiceinteraction/src/android/voiceinteraction/cts/VoiceInteractionTest.java
index 2badb27..0fa89e1 100644
--- a/tests/tests/voiceinteraction/src/android/voiceinteraction/cts/VoiceInteractionTest.java
+++ b/tests/tests/voiceinteraction/src/android/voiceinteraction/cts/VoiceInteractionTest.java
@@ -91,7 +91,7 @@
                 verifySingleTestcaseResult(t, singleResult);
             }
         }
-        assertEquals(2, numFails);
+        assertEquals(0, numFails);
         mTestActivity.finish();
     }
 
@@ -128,6 +128,9 @@
           case PICKOPTION_REQUEST_TEST:
               assertTrue(result.equals(Utils.PICKOPTION_REQUEST_SUCCESS));
               break;
+          case SUPPORTS_COMMANDS_TEST:
+              assertTrue(result.equals(Utils.SUPPORTS_COMMANDS_SUCCESS));
+              break;
           default:
               Log.wtf(TAG, "not expected");
               break;
diff --git a/tests/tests/voiceinteraction/testapp/src/android/voiceinteraction/testapp/TestApp.java b/tests/tests/voiceinteraction/testapp/src/android/voiceinteraction/testapp/TestApp.java
index 47ec2236..1ef6a5c 100644
--- a/tests/tests/voiceinteraction/testapp/src/android/voiceinteraction/testapp/TestApp.java
+++ b/tests/tests/voiceinteraction/testapp/src/android/voiceinteraction/testapp/TestApp.java
@@ -92,6 +92,19 @@
 
           case COMMANDREQUEST_TEST:
           case COMMANDREQUEST_CANCEL_TEST:
+              commandRequest();
+              break;
+
+          case SUPPORTS_COMMANDS_TEST:
+              String[] commands = {Utils.TEST_COMMAND};
+              boolean[] supported = mInteractor.supportsCommands(commands);
+              Log.i(TAG, "from supportsCommands: " + supported);
+              if (supported.length == 1 && supported[0]) {
+                addTestResult(Utils.SUPPORTS_COMMANDS_SUCCESS);
+              } else {
+                addTestResult(Utils.TEST_ERROR + " supported commands failure!");
+              }
+              saveTestResults();
               continueTests();
               break;
         }
@@ -234,10 +247,6 @@
     }
 
     private void commandRequest() {
-        // uncomment these lines once CommandRequest is working. b/22124996
-//        Log.i(TAG, "from supportsCommands: " + mInteractor.supportsCommands(commands));
-//        String[] commands = {Utils.TEST_COMMAND};
-
         CommandRequest req = new VoiceInteractor.CommandRequest(Utils.TEST_COMMAND, mTestinfo) {
             @Override
             public void onCancel() {
diff --git a/tests/tests/voicesettings/Android.mk b/tests/tests/voicesettings/Android.mk
new file mode 100644
index 0000000..71fead6
--- /dev/null
+++ b/tests/tests/voicesettings/Android.mk
@@ -0,0 +1,33 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsVoiceSettingsCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsVoiceSettingsTestCases
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_PACKAGE)
+include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/tests/voicesettings/AndroidManifest.xml b/tests/tests/voicesettings/AndroidManifest.xml
new file mode 100644
index 0000000..bf938f9
--- /dev/null
+++ b/tests/tests/voicesettings/AndroidManifest.xml
@@ -0,0 +1,45 @@
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.voicesettings.cts">
+
+    <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
+    <uses-permission android:name="android.permission.BIND_VOICE_INTERACTION" />
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+
+        <activity android:name="TestStartActivity"
+                  android:label="The Target Activity for VoiceSettings CTS Test">
+            <intent-filter>
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_ZEN_MODE" />
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_AIRPLANE_MODE" />
+                <action android:name="android.intent.action.TEST_START_ACTIVITY_BATTERYSAVER_MODE" />
+                <category android:name="android.intent.category.LAUNCHER" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+    </application>
+
+    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
+                     android:targetPackage="android.voicesettings.cts"
+                     android:label="CTS tests of android.voicesettings">
+        <meta-data android:name="listener"
+            android:value="com.android.cts.runner.CtsTestRunListener" />
+    </instrumentation>
+</manifest>
+
diff --git a/tests/tests/voicesettings/AndroidTest.xml b/tests/tests/voicesettings/AndroidTest.xml
new file mode 100644
index 0000000..0a3974d
--- /dev/null
+++ b/tests/tests/voicesettings/AndroidTest.xml
@@ -0,0 +1,23 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Test module config for VoiceInteraction">
+    <include name="common-config" />
+    <option name="cts-apk-installer:test-file-name" value="CtsVoiceSettingsService.apk" />
+    <option name="run-command:run-command"
+         value="settings put secure voice_interaction_service android.voicesettings.service/.MainInteractionService" />
+    <option name="run-command:teardown-command"
+         value="settings put secure voice_interaction_service com.google.android.googlequicksearchbox/com.google.android.voiceinteraction.GsaVoiceInteractionService" />
+    <option name="cts-apk-installer:test-file-name" value="CtsVoiceSettingsTestCases.apk" />
+</configuration>
diff --git a/tests/tests/voicesettings/common/Android.mk b/tests/tests/voicesettings/common/Android.mk
new file mode 100644
index 0000000..1478ef2
--- /dev/null
+++ b/tests/tests/voicesettings/common/Android.mk
@@ -0,0 +1,30 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_MODULE := CtsVoiceSettingsCommon
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/tests/voicesettings/common/src/android/voicesettings/common/Utils.java b/tests/tests/voicesettings/common/src/android/voicesettings/common/Utils.java
new file mode 100644
index 0000000..44514b0
--- /dev/null
+++ b/tests/tests/voicesettings/common/src/android/voicesettings/common/Utils.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package common.src.android.voicesettings.common;
+
+import android.os.Bundle;
+
+public class Utils {
+    public enum TestcaseType {
+        ZEN_MODE_ON,
+        ZEN_MODE_OFF,
+        AIRPLANE_MODE_ON,
+        AIRPLANE_MODE_OFF,
+        BATTERYSAVER_MODE_ON,
+        BATTERYSAVER_MODE_OFF,
+    }
+    public static final String TESTCASE_TYPE = "Testcase_type";
+    public static final String BROADCAST_INTENT =
+            "android.intent.action.FROM_VOICESETTINGS_CTS_TEST_";
+    public static final int NUM_MINUTES_FOR_ZENMODE = 10;
+
+    public static final String toBundleString(Bundle bundle) {
+        if (bundle == null) {
+            return "*** Bundle is null ****";
+        }
+        StringBuilder buf = new StringBuilder();
+        if (bundle != null) {
+            buf.append("extras: ");
+            for (String s : bundle.keySet()) {
+                buf.append("(" + s + " = " + bundle.get(s) + "), ");
+            }
+        }
+        return buf.toString();
+    }
+}
diff --git a/tests/tests/voicesettings/res/xml/interaction_service.xml b/tests/tests/voicesettings/res/xml/interaction_service.xml
new file mode 100644
index 0000000..bf40892
--- /dev/null
+++ b/tests/tests/voicesettings/res/xml/interaction_service.xml
@@ -0,0 +1,20 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.voicesettings.service.MainInteractionSessionService"
+    android:recognitionService="android.voicesettings.service.MainRecognitionService"
+    android:settingsActivity="android.voicesettings.service.SettingsActivity"
+    android:supportsAssist="false" />
diff --git a/tests/tests/voicesettings/service/Android.mk b/tests/tests/voicesettings/service/Android.mk
new file mode 100644
index 0000000..97866d5
--- /dev/null
+++ b/tests/tests/voicesettings/service/Android.mk
@@ -0,0 +1,32 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+# don't include this package in any target
+LOCAL_MODULE_TAGS := optional
+# and when built explicitly put it in the data partition
+LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+
+LOCAL_STATIC_JAVA_LIBRARIES := CtsVoiceSettingsCommon ctstestrunner ctsdeviceutil
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+LOCAL_PACKAGE_NAME := CtsVoiceSettingsService
+
+LOCAL_SDK_VERSION := current
+
+include $(BUILD_CTS_SUPPORT_PACKAGE)
diff --git a/tests/tests/voicesettings/service/AndroidManifest.xml b/tests/tests/voicesettings/service/AndroidManifest.xml
new file mode 100644
index 0000000..13671b6
--- /dev/null
+++ b/tests/tests/voicesettings/service/AndroidManifest.xml
@@ -0,0 +1,65 @@
+<!--
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="android.voicesettings.service">
+
+    <application>
+        <uses-library android:name="android.test.runner" />
+        <service android:name=".MainInteractionService"
+                android:label="CTS test voice interaction service"
+                android:permission="android.permission.BIND_VOICE_INTERACTION"
+                android:process=":interactor"
+                android:exported="true">
+            <meta-data android:name="android.voice_interaction"
+                       android:resource="@xml/interaction_service" />
+            <intent-filter>
+                <action android:name="android.service.voice.VoiceInteractionService" />
+            </intent-filter>
+        </service>
+        <activity android:name=".VoiceInteractionMain" >
+            <intent-filter>
+                <action android:name="android.intent.action.VIMAIN_ZEN_MODE_ON" />
+                <action android:name="android.intent.action.VIMAIN_ZEN_MODE_OFF" />
+                <action android:name="android.intent.action.VIMAIN_AIRPLANE_MODE_ON" />
+                <action android:name="android.intent.action.VIMAIN_AIRPLANE_MODE_OFF" />
+                <action android:name="android.intent.action.VIMAIN_BATTERYSAVER_MODE_ON" />
+                <action android:name="android.intent.action.VIMAIN_BATTERYSAVER_MODE_OFF" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <activity android:name=".SettingsActivity"
+                  android:label="Voice Interaction Settings">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <service android:name=".MainInteractionSessionService"
+                android:permission="android.permission.BIND_VOICE_INTERACTION"
+                android:process=":session">
+        </service>
+        <service android:name=".MainRecognitionService"
+                android:label="CTS Voice Recognition Service">
+            <intent-filter>
+                <action android:name="android.speech.RecognitionService" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="android.speech" android:resource="@xml/recognition_service" />
+        </service>
+    </application>
+</manifest>
+
diff --git a/tests/tests/voicesettings/service/res/xml/interaction_service.xml b/tests/tests/voicesettings/service/res/xml/interaction_service.xml
new file mode 100644
index 0000000..bf40892
--- /dev/null
+++ b/tests/tests/voicesettings/service/res/xml/interaction_service.xml
@@ -0,0 +1,20 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<voice-interaction-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:sessionService="android.voicesettings.service.MainInteractionSessionService"
+    android:recognitionService="android.voicesettings.service.MainRecognitionService"
+    android:settingsActivity="android.voicesettings.service.SettingsActivity"
+    android:supportsAssist="false" />
diff --git a/tests/tests/voicesettings/service/res/xml/recognition_service.xml b/tests/tests/voicesettings/service/res/xml/recognition_service.xml
new file mode 100644
index 0000000..9d80f24
--- /dev/null
+++ b/tests/tests/voicesettings/service/res/xml/recognition_service.xml
@@ -0,0 +1,17 @@
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<recognition-service xmlns:android="http://schemas.android.com/apk/res/android"
+    android:settingsActivity="android.voicesettings.service.SettingsActivity" />
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionService.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionService.java
new file mode 100644
index 0000000..6302b78
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionService.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import android.content.ComponentName;
+import android.content.Intent;
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionService;
+import android.util.Log;
+import common.src.android.voicesettings.common.Utils;
+
+public class MainInteractionService extends VoiceInteractionService {
+    static final String TAG = "MainInteractionService";
+    private Intent mIntent;
+    private boolean mReady = false;
+
+    @Override
+    public void onReady() {
+        super.onReady();
+        mReady = true;
+    }
+
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        Log.i(TAG, "onStartCommand received");
+        mIntent = intent;
+        Log.i(TAG, "received_testcasetype = " + mIntent.getStringExtra(Utils.TESTCASE_TYPE));
+        maybeStart();
+        return START_NOT_STICKY;
+    }
+
+    private void maybeStart() {
+       if (mIntent == null || !mReady) {
+            Log.wtf(TAG, "Can't start session because either intent is null or onReady() "
+                    + "is not called yet. mIntent = " + mIntent + ", mReady = " + mReady);
+        } else {
+            Log.i(TAG, "Yay! about to start MainInteractionSession");
+            if (isActiveService(this, new ComponentName(this, getClass()))) {
+                Bundle args = new Bundle();
+                args.putString(Utils.TESTCASE_TYPE, mIntent.getStringExtra(Utils.TESTCASE_TYPE));
+                Log.i(TAG, "xferring_testcasetype = " + args.getString(Utils.TESTCASE_TYPE));
+                showSession(args, 0);
+            } else {
+                Log.wtf(TAG, "**** Not starting MainInteractionService because" +
+                    " it is not set as the current voice interaction service");
+            }
+        }
+    }
+}
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSession.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSession.java
new file mode 100644
index 0000000..c2b7e18
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSession.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import static android.provider.Settings.ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE;
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
+import static android.provider.Settings.ACTION_VOICE_CONTROL_AIRPLANE_MODE;
+import static android.provider.Settings.EXTRA_AIRPLANE_MODE_ENABLED;
+import static android.provider.Settings.ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE;
+import static android.provider.Settings.EXTRA_BATTERY_SAVER_MODE_ENABLED;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionSession;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+import common.src.android.voicesettings.common.Utils.TestcaseType;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class MainInteractionSession extends VoiceInteractionSession {
+    static final String TAG = "MainInteractionSession";
+
+    List<MyTask> mUsedTasks = new ArrayList<MyTask>();
+    Context mContext;
+    TestcaseType mTestType;
+
+    MainInteractionSession(Context context) {
+        super(context);
+        mContext = context;
+    }
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+    }
+
+    @Override
+    public void onDestroy() {
+        Log.i(TAG, "Canceling the Asynctasks in onDestroy()");
+        for (MyTask t : mUsedTasks) {
+            t.cancel(true);
+        }
+        super.onDestroy();
+    }
+
+    @Override
+    public void onShow(Bundle args, int showFlags) {
+        super.onShow(args, showFlags);
+        String testCaseType = args.getString(Utils.TESTCASE_TYPE);
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        try {
+            mTestType = TestcaseType.valueOf(testCaseType);
+        } catch (IllegalArgumentException e) {
+            Log.wtf(TAG, e);
+            return;
+        } catch (NullPointerException e) {
+            Log.wtf(TAG, e);
+            return;
+        }
+        Intent intent;
+        switch(mTestType) {
+            case ZEN_MODE_ON:
+                intent = new Intent(ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE);
+                intent.putExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED, true);
+                intent.putExtra(EXTRA_DO_NOT_DISTURB_MODE_MINUTES, Utils.NUM_MINUTES_FOR_ZENMODE);
+                break;
+            case ZEN_MODE_OFF:
+                intent = new Intent(ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE);
+                intent.putExtra(EXTRA_DO_NOT_DISTURB_MODE_ENABLED, false);
+                break;
+            case AIRPLANE_MODE_ON:
+                intent = new Intent(ACTION_VOICE_CONTROL_AIRPLANE_MODE);
+                intent.putExtra(EXTRA_AIRPLANE_MODE_ENABLED, true);
+                break;
+            case AIRPLANE_MODE_OFF:
+                intent = new Intent(ACTION_VOICE_CONTROL_AIRPLANE_MODE);
+                intent.putExtra(EXTRA_AIRPLANE_MODE_ENABLED, false);
+                break;
+            case BATTERYSAVER_MODE_ON:
+                intent = new Intent(ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE);
+                intent.putExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, true);
+                break;
+            case BATTERYSAVER_MODE_OFF:
+                intent = new Intent(ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE);
+                intent.putExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false);
+                break;
+            default:
+                Log.i(TAG, "Not implemented!");
+                return;
+        }
+        Log.i(TAG, "starting_voiceactivity: " + intent.toString());
+        startVoiceActivity(intent);
+    }
+
+    @Override
+    public void onTaskFinished(Intent intent, int taskId) {
+        // extras contain the info on what the activity started above did.
+        // we probably could verify this also.
+        Bundle extras = intent.getExtras();
+        Log.i(TAG, "in onTaskFinished: testcasetype = " + mTestType + ", intent: " +
+                intent.toString() + Utils.toBundleString(extras));
+        Intent broadcastIntent = new Intent(Utils.BROADCAST_INTENT + mTestType.toString());
+        if (extras == null) {
+            extras = new Bundle();
+        }
+        extras.putString(Utils.TESTCASE_TYPE, mTestType.toString());
+        broadcastIntent.putExtras(extras);
+        Log.i(TAG, "sending_broadcast: Bundle = " + Utils.toBundleString(extras) +
+                ", intent = " + broadcastIntent.toString());
+        mContext.sendBroadcast(broadcastIntent);
+    }
+
+    synchronized MyTask newTask() {
+        MyTask t = new MyTask();
+        mUsedTasks.add(t);
+        return t;
+    }
+
+    @Override
+    public void onRequestCompleteVoice(CompleteVoiceRequest request) {
+        CharSequence prompt = request.getVoicePrompt().getVoicePromptAt(0);
+        Log.i(TAG, "in Session testcasetype = " + mTestType +
+                ", onRequestCompleteVoice recvd. message = " + prompt);
+        AsyncTaskArg asyncTaskArg = new AsyncTaskArg().setRequest(request).setCompleteReq(true);
+        newTask().execute(asyncTaskArg);
+    }
+
+    @Override
+    public void onRequestAbortVoice(AbortVoiceRequest request) {
+        AsyncTaskArg asyncTaskArg = new AsyncTaskArg().setRequest(request).setCompleteReq(false);
+        Log.i(TAG, "in Session sending sendAbortResult. ");
+        newTask().execute(asyncTaskArg);
+    }
+
+    private class AsyncTaskArg {
+        CompleteVoiceRequest mCompReq;
+        AbortVoiceRequest mAbortReq;
+        boolean isCompleteRequest = true;
+
+        AsyncTaskArg setRequest(CompleteVoiceRequest r) {
+            mCompReq = r;
+            return this;
+        }
+
+        AsyncTaskArg setRequest(AbortVoiceRequest r) {
+            mAbortReq = r;
+            return this;
+        }
+
+        AsyncTaskArg setCompleteReq(boolean flag) {
+            isCompleteRequest = flag;
+            return this;
+        }
+    }
+
+    private class MyTask extends AsyncTask<AsyncTaskArg, Void, Void> {
+        @Override
+        protected Void doInBackground(AsyncTaskArg... params) {
+            AsyncTaskArg arg = params[0];
+            Log.i(TAG, "in MyTask - doInBackground: testType = " +
+                    MainInteractionSession.this.mTestType);
+            if (arg.isCompleteRequest) {
+                arg.mCompReq.sendCompleteResult(new Bundle());
+            } else {
+                arg.mAbortReq.sendAbortResult(new Bundle());
+            }
+            return null;
+        }
+    }
+}
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSessionService.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSessionService.java
new file mode 100644
index 0000000..2b302b8
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainInteractionSessionService.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import android.os.Bundle;
+import android.service.voice.VoiceInteractionSession;
+import android.service.voice.VoiceInteractionSessionService;
+
+public class MainInteractionSessionService extends VoiceInteractionSessionService {
+    @Override
+    public VoiceInteractionSession onNewSession(Bundle args) {
+        return new MainInteractionSession(this);
+    }
+}
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/MainRecognitionService.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainRecognitionService.java
new file mode 100644
index 0000000..9b0e95d
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/MainRecognitionService.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import android.content.Intent;
+import android.speech.RecognitionService;
+import android.util.Log;
+
+/**
+ * Stub recognition service needed to be a complete voice interactor.
+ */
+public class MainRecognitionService extends RecognitionService {
+    private static final String TAG = "MainRecognitionService";
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+        Log.i(TAG, "onCreate");
+    }
+
+    @Override
+    protected void onStartListening(Intent recognizerIntent, Callback listener) {
+        Log.i(TAG, "onStartListening");
+    }
+
+    @Override
+    protected void onCancel(Callback listener) {
+        Log.i(TAG, "onCancel");
+    }
+
+    @Override
+    protected void onStopListening(Callback listener) {
+        Log.i(TAG, "onStopListening");
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        Log.i(TAG, "onDestroy");
+    }
+}
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/SettingsActivity.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/SettingsActivity.java
new file mode 100644
index 0000000..140bca4
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/SettingsActivity.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+/**
+ * Stub activity to test out settings selection for voice interactor.
+ */
+public class SettingsActivity extends Activity {
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+}
diff --git a/tests/tests/voicesettings/service/src/android/voicesettings/service/VoiceInteractionMain.java b/tests/tests/voicesettings/service/src/android/voicesettings/service/VoiceInteractionMain.java
new file mode 100644
index 0000000..adc2980
--- /dev/null
+++ b/tests/tests/voicesettings/service/src/android/voicesettings/service/VoiceInteractionMain.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.service;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+public class VoiceInteractionMain extends Activity {
+    static final String TAG = "VoiceInteractionMain";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Intent intent = new Intent();
+        String testCaseType = getIntent().getStringExtra(Utils.TESTCASE_TYPE);
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        intent.putExtra(Utils.TESTCASE_TYPE, testCaseType);
+        intent.setComponent(new ComponentName(this, MainInteractionService.class));
+        ComponentName serviceName = startService(intent);
+        Log.i(TAG, "Started service: " + serviceName);
+    }
+}
diff --git a/tests/tests/voicesettings/src/android/voicesettings/cts/AirplaneModeTest.java b/tests/tests/voicesettings/src/android/voicesettings/cts/AirplaneModeTest.java
new file mode 100644
index 0000000..8abe396
--- /dev/null
+++ b/tests/tests/voicesettings/src/android/voicesettings/cts/AirplaneModeTest.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.cts;
+
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+public class AirplaneModeTest extends VoiceSettingsTestBase {
+    static final String TAG = "AirplaneModeTest";
+
+    private static final int AIRPLANE_MODE_IS_OFF = 0;
+    private static final int AIRPLANE_MODE_IS_ON = 1;
+
+    public AirplaneModeTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        startTestActivity("AIRPLANE_MODE");
+        int mode = getMode();
+        Log.i(TAG, "Before testing, AIRPLANE_MODE is set to: " + mode);
+        if (mode == AIRPLANE_MODE_IS_OFF) {
+            // mode is currently OFF.
+            // run a test to turn it on.
+            // After successful run of the test, run a test to turn it back off.
+            if (!runTest(Utils.TestcaseType.AIRPLANE_MODE_ON, AIRPLANE_MODE_IS_ON)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.AIRPLANE_MODE_OFF, AIRPLANE_MODE_IS_OFF);
+        } else {
+            // mode is currently ON.
+            // run a test to turn it off.
+            // After successful run of the test, run a test to turn it back on.
+            if (!runTest(Utils.TestcaseType.AIRPLANE_MODE_OFF, AIRPLANE_MODE_IS_OFF)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.AIRPLANE_MODE_ON, AIRPLANE_MODE_IS_ON);
+        }
+    }
+
+    private boolean runTest(Utils.TestcaseType test, int expectedMode) throws Exception {
+        if (!startTestAndWaitForBroadcast(test)) {
+            return false;
+        }
+
+        // verify the test results
+        int mode = getMode();
+        Log.i(TAG, "After testing, AIRPLANE_MODE is set to: " + mode);
+        assertEquals(expectedMode, mode);
+        Log.i(TAG, "Successfully Tested: " + test);
+        return true;
+    }
+
+    private int getMode() throws Exception {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+            Settings.Global.AIRPLANE_MODE_ON);
+    }
+}
diff --git a/tests/tests/voicesettings/src/android/voicesettings/cts/BatterySaverModeTest.java b/tests/tests/voicesettings/src/android/voicesettings/cts/BatterySaverModeTest.java
new file mode 100644
index 0000000..3d1357a
--- /dev/null
+++ b/tests/tests/voicesettings/src/android/voicesettings/cts/BatterySaverModeTest.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.cts;
+
+import android.content.Context;
+import android.os.PowerManager;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+public class BatterySaverModeTest extends VoiceSettingsTestBase {
+    static final String TAG = "BatterySaverModeTest";
+
+    public BatterySaverModeTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        startTestActivity("BATTERYSAVER_MODE");
+        boolean modeIsOn = isModeOn();
+        Log.i(TAG, "Before testing, BATTERYSAVER_MODE is set to: " + modeIsOn);
+        if (modeIsOn) {
+            // mode is currently ON.
+            // run a test to turn it off.
+            // After successful run of the test, run a test to turn it back on.
+            if (!runTest(Utils.TestcaseType.BATTERYSAVER_MODE_OFF, false)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.BATTERYSAVER_MODE_ON, true);
+        } else {
+            // mode is currently OFF.
+            // run a test to turn it on.
+            // After successful run of the test, run a test to turn it back off.
+            if (!runTest(Utils.TestcaseType.BATTERYSAVER_MODE_ON, true)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.BATTERYSAVER_MODE_OFF, false);
+        }
+    }
+
+    private boolean runTest(Utils.TestcaseType test, boolean expectedMode) throws Exception {
+        if (!startTestAndWaitForBroadcast(test)) {
+            return false;
+        }
+
+        // Verify the test results
+        // Since CTS test needs the device to be connected to the host computer via USB,
+        // Batter Saver mode can't be turned on/off.
+        // The most we can do is that the broadcast frmo MainInteractionSession is received
+        // because that signals the firing and completion of BatterySaverModeVoiceActivity
+        // caused by the intent to set Battery Saver mode.
+        return true;
+    }
+
+    private boolean isModeOn() {
+        PowerManager powerManager = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE);
+        return powerManager.isPowerSaveMode();
+    }
+}
diff --git a/tests/tests/voicesettings/src/android/voicesettings/cts/TestStartActivity.java b/tests/tests/voicesettings/src/android/voicesettings/cts/TestStartActivity.java
new file mode 100644
index 0000000..cef29b1
--- /dev/null
+++ b/tests/tests/voicesettings/src/android/voicesettings/cts/TestStartActivity.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.cts;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.ComponentName;
+import android.os.Bundle;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+public class TestStartActivity extends Activity {
+    static final String TAG = "TestStartActivity";
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Log.i(TAG, " in onCreate");
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        Log.i(TAG, " in onResume");
+    }
+
+    void startTest(String testCaseType) {
+        Intent intent = new Intent();
+        Log.i(TAG, "received_testcasetype = " + testCaseType);
+        intent.putExtra(Utils.TESTCASE_TYPE, testCaseType);
+        intent.setAction("android.intent.action.VIMAIN_" + testCaseType);
+        intent.setComponent(new ComponentName("android.voicesettings.service",
+                "android.voicesettings.service.VoiceInteractionMain"));
+        startActivity(intent);
+    }
+
+    @Override
+    protected void onPause() {
+        Log.i(TAG, " in onPause");
+        super.onPause();
+    }
+
+    @Override
+    protected void onStart() {
+        super.onStart();
+        Log.i(TAG, " in onStart");
+    }
+
+    @Override
+    protected void onRestart() {
+        super.onRestart();
+        Log.i(TAG, " in onRestart");
+    }
+
+    @Override
+    protected void onStop() {
+        Log.i(TAG, " in onStop");
+        super.onStop();
+    }
+
+    @Override
+    protected void onDestroy() {
+        Log.i(TAG, " in onDestroy");
+        super.onDestroy();
+    }
+}
diff --git a/tests/tests/voicesettings/src/android/voicesettings/cts/VoiceSettingsTestBase.java b/tests/tests/voicesettings/src/android/voicesettings/cts/VoiceSettingsTestBase.java
new file mode 100644
index 0000000..5386497
--- /dev/null
+++ b/tests/tests/voicesettings/src/android/voicesettings/cts/VoiceSettingsTestBase.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.cts;
+
+import android.content.BroadcastReceiver;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.Bundle;
+import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+public class VoiceSettingsTestBase extends ActivityInstrumentationTestCase2<TestStartActivity> {
+    static final String TAG = "VoiceSettingsTestBase";
+    protected static final int TIMEOUT_MS = 20 * 1000;
+
+    protected Context mContext;
+    protected Bundle mResultExtras;
+    private CountDownLatch mLatch;
+    private ActivityDoneReceiver mActivityDoneReceiver = null;
+    private TestStartActivity mActivity;
+    private Utils.TestcaseType mTestCaseType;
+
+    public VoiceSettingsTestBase() {
+        super(TestStartActivity.class);
+    }
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        mContext = getInstrumentation().getTargetContext();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        mContext.unregisterReceiver(mActivityDoneReceiver);
+        super.tearDown();
+    }
+
+    protected void startTestActivity(String intentSuffix) {
+        Intent intent = new Intent();
+        intent.setAction("android.intent.action.TEST_START_ACTIVITY_" + intentSuffix);
+        intent.setComponent(new ComponentName(getInstrumentation().getContext(),
+                TestStartActivity.class));
+        setActivityIntent(intent);
+        mActivity = getActivity();
+    }
+
+    protected void registerBroadcastReceiver(Utils.TestcaseType testCaseType) throws Exception {
+        mTestCaseType = testCaseType;
+        mLatch = new CountDownLatch(1);
+        if (mActivityDoneReceiver != null) {
+            mContext.unregisterReceiver(mActivityDoneReceiver);
+        }
+        mActivityDoneReceiver = new ActivityDoneReceiver();
+        mContext.registerReceiver(mActivityDoneReceiver,
+                new IntentFilter(Utils.BROADCAST_INTENT + testCaseType.toString()));
+    }
+
+    protected boolean startTestAndWaitForBroadcast(Utils.TestcaseType testCaseType)
+            throws Exception {
+        Log.i(TAG, "Begin Testing: " + testCaseType);
+        registerBroadcastReceiver(testCaseType);
+        mActivity.startTest(testCaseType.toString());
+        if (!mLatch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)) {
+            fail("Failed to receive broadcast in " + TIMEOUT_MS + "msec");
+            return false;
+        }
+        return true;
+    }
+
+    class ActivityDoneReceiver extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            if (intent.getAction().equals(
+                    Utils.BROADCAST_INTENT +
+                        VoiceSettingsTestBase.this.mTestCaseType.toString())) {
+                Bundle extras = intent.getExtras();
+                Log.i(TAG, "received_broadcast for " + Utils.toBundleString(extras));
+                VoiceSettingsTestBase.this.mResultExtras = extras;
+                mLatch.countDown();
+            }
+        }
+    }
+}
diff --git a/tests/tests/voicesettings/src/android/voicesettings/cts/ZenModeTest.java b/tests/tests/voicesettings/src/android/voicesettings/cts/ZenModeTest.java
new file mode 100644
index 0000000..8c2efbe
--- /dev/null
+++ b/tests/tests/voicesettings/src/android/voicesettings/cts/ZenModeTest.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.voicesettings.cts;
+
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_ENABLED;
+import static android.provider.Settings.EXTRA_DO_NOT_DISTURB_MODE_MINUTES;
+
+import android.provider.Settings;
+import android.provider.Settings.Global;
+import android.util.Log;
+
+import common.src.android.voicesettings.common.Utils;
+
+public class ZenModeTest extends VoiceSettingsTestBase {
+    static final String TAG = "ZenModeTest";
+
+    // The following are hidden in frameworks/base/core/java/android/provider/Settings.java
+    // If they weren't, we could have used them directly here.
+    private static final String ZEN_MODE = "zen_mode";
+    private static final int ZEN_MODE_IS_OFF = 0;
+    private static final int ZEN_MODE_IS_ALARMS = 3;
+
+    public ZenModeTest() {
+        super();
+    }
+
+    public void testAll() throws Exception {
+        startTestActivity("ZEN_MODE");
+        int mode = getMode();
+        Log.i(TAG, "Before testing, zen-mode is set to: " + mode);
+        if (mode == ZEN_MODE_IS_OFF) {
+            // mode is currently OFF.
+            // run a test to turn it on.
+            // After successful run of the test, run a test to turn it back off.
+            if (!runTest(Utils.TestcaseType.ZEN_MODE_ON, ZEN_MODE_IS_ALARMS)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.ZEN_MODE_OFF, ZEN_MODE_IS_OFF);
+        } else {
+            // mode is currently ON.
+            // run a test to turn it off.
+            // After successful run of the test, run a test to turn it back on.
+            if (!runTest(Utils.TestcaseType.ZEN_MODE_OFF, ZEN_MODE_IS_OFF)) {
+                // the test failed. don't test the next one.
+                return;
+            }
+            runTest(Utils.TestcaseType.ZEN_MODE_ON, ZEN_MODE_IS_ALARMS);
+        }
+    }
+
+    private boolean runTest(Utils.TestcaseType test, int expectedMode) throws Exception {
+        if (!startTestAndWaitForBroadcast(test)) {
+            return false;
+        }
+
+        // verify the test results
+        int mode = getMode();
+        Log.i(TAG, "After testing, zen-mode is set to: " + mode);
+        assertEquals(expectedMode, mode);
+        Log.i(TAG, "results_received: " + Utils.toBundleString(mResultExtras));
+        assertNotNull(mResultExtras);
+        if (expectedMode == ZEN_MODE_IS_ALARMS) {
+            assertTrue(mResultExtras.getBoolean(EXTRA_DO_NOT_DISTURB_MODE_ENABLED));
+            assertEquals(Utils.NUM_MINUTES_FOR_ZENMODE,
+                    mResultExtras.getInt(EXTRA_DO_NOT_DISTURB_MODE_MINUTES));
+        } else {
+            assertFalse(mResultExtras.getBoolean(EXTRA_DO_NOT_DISTURB_MODE_ENABLED));
+        }
+        Log.i(TAG, "Successfully Tested: " + test);
+        return true;
+    }
+
+    private int getMode() throws Exception {
+        return Settings.Global.getInt(mContext.getContentResolver(), ZEN_MODE);
+    }
+}
diff --git a/tests/tests/webkit/AndroidManifest.xml b/tests/tests/webkit/AndroidManifest.xml
index 098acd9..fa25824 100644
--- a/tests/tests/webkit/AndroidManifest.xml
+++ b/tests/tests/webkit/AndroidManifest.xml
@@ -20,7 +20,6 @@
 
     <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
     <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>
-    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <application android:maxRecents="1">
diff --git a/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java b/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java
index ba0e0e9..32b6167 100644
--- a/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/GeolocationTest.java
@@ -17,6 +17,7 @@
 package android.webkit.cts;
 
 import android.content.Context;
+import android.cts.util.LocationUtils;
 import android.cts.util.NullWebViewUtils;
 import android.cts.util.PollingCheck;
 import android.graphics.Bitmap;
@@ -136,6 +137,7 @@
     protected void setUp() throws Exception {
         super.setUp();
 
+        LocationUtils.registerMockLocationProvider(getInstrumentation(), true);
         WebView webview = getActivity().getWebView();
 
         if (webview != null) {
@@ -185,6 +187,7 @@
                 } catch (IllegalArgumentException e) {} // Not much to do about this
             }
         }
+        LocationUtils.registerMockLocationProvider(getInstrumentation(), false);
 
         if (mOnUiThread != null) {
             mOnUiThread.cleanUp();
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
index a52eabe..592e308 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebSettingsTest.java
@@ -95,7 +95,7 @@
      * brackets are optional):
      * <p/>
      * Mozilla/5.0 (Linux;[ U;] Android <version>;[ <language>-<country>;]
-     * [<devicemodel>;] Build/<buildID>) AppleWebKit/<major>.<minor> (KHTML, like Gecko)
+     * [<devicemodel>;] Build/<buildID>; wv) AppleWebKit/<major>.<minor> (KHTML, like Gecko)
      * Version/<major>.<minor> Chrome/<major>.<minor>.<branch>.<build>[ Mobile]
      * Safari/<major>.<minor>
      */
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
index dcdeead..6555731 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewSslTest.java
@@ -37,6 +37,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.security.KeyFactory;
+import java.security.KeyStore;
 import java.security.PrivateKey;
 import java.security.Principal;
 import java.security.cert.CertificateFactory;
@@ -764,6 +765,36 @@
         assertEquals(callCount + 1, webViewClient.getClientCertRequestCount());
     }
 
+    public void testProceedClientCertRequestKeyWithAndroidKeystoreKey() throws Throwable {
+        if (!NullWebViewUtils.isWebViewAvailable()) {
+            return;
+        }
+        mWebServer = new CtsTestServer(getActivity(), CtsTestServer.SslMode.NEEDS_CLIENT_AUTH);
+        String url = mWebServer.getAssetUrl(TestHtmlConstants.HELLO_WORLD_URL);
+        final ClientCertWebViewClient webViewClient = new ClientCertWebViewClient(
+                mOnUiThread,
+                true // use an Android Keystore backed private key
+                );
+        mOnUiThread.setWebViewClient(webViewClient);
+        clearClientCertPreferences();
+        mOnUiThread.loadUrlAndWaitForCompletion(url);
+        assertTrue(TestHtmlConstants.HELLO_WORLD_TITLE.equals(mOnUiThread.getTitle()));
+
+        // Test that the user's response for this server is kept in cache. Load a different
+        // page from the same server and make sure we don't receive a client cert request callback.
+        int callCount = webViewClient.getClientCertRequestCount();
+        url = mWebServer.getAssetUrl(TestHtmlConstants.HTML_URL1);
+        mOnUiThread.loadUrlAndWaitForCompletion(url);
+        assertTrue(TestHtmlConstants.HTML_URL1_TITLE.equals(mOnUiThread.getTitle()));
+        assertEquals(callCount, webViewClient.getClientCertRequestCount());
+
+        // Now clear the cache and reload the page. We should receive a new callback.
+        clearClientCertPreferences();
+        mOnUiThread.loadUrlAndWaitForCompletion(url);
+        assertTrue(TestHtmlConstants.HTML_URL1_TITLE.equals(mOnUiThread.getTitle()));
+        assertEquals(callCount + 1, webViewClient.getClientCertRequestCount());
+    }
+
     public void testIgnoreClientCertRequest() throws Throwable {
         if (!NullWebViewUtils.isWebViewAvailable()) {
             return;
@@ -925,12 +956,20 @@
         public static final int CANCEL = 2;
         public static final int IGNORE = 3;
 
+        private final boolean mKeyFromAndroidKeystore;
+
         private int mClientCertRequests;
         private int mAction = PROCEED;
         private Principal[] mPrincipals;
 
         public ClientCertWebViewClient(WebViewOnUiThread onUiThread) {
+            this(onUiThread, false);
+        }
+
+        public ClientCertWebViewClient(WebViewOnUiThread onUiThread,
+                boolean keyFromAndroidKeystore) {
             super(onUiThread);
+            mKeyFromAndroidKeystore = keyFromAndroidKeystore;
         }
 
         public int getClientCertRequestCount() {
@@ -973,6 +1012,21 @@
                     KeyFactory keyFactory = KeyFactory.getInstance("RSA");
                     PrivateKey key = keyFactory.generatePrivate(
                         new PKCS8EncodedKeySpec(FAKE_RSA_KEY_1));
+
+                    if (mKeyFromAndroidKeystore) {
+                        // Key needs to be backed by Android Keystore -- import it there.
+                        KeyStore keyStore = KeyStore.getInstance("AndroidKeyStore");
+                        keyStore.load(null);
+                        Log.d(LOGTAG, "Importing private key into Android Keystore...");
+                        keyStore.setEntry(
+                                "fake1",
+                                new KeyStore.PrivateKeyEntry(key, certChain),
+                                null);
+
+                        key = (PrivateKey) keyStore.getKey("fake1", null);
+                        Log.i(LOGTAG, "Imported private key into Android Keystore. key: " + key);
+                    }
+
                     request.proceed(key, certChain);
                     return;
                 } catch (Exception e) {
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index ee6f4ec..4c5b2db 100755
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -1439,14 +1439,10 @@
                 "Find all instances of a word on the page and highlight them.</p>";
 
         mOnUiThread.loadDataAndWaitForCompletion("<html><body>" + p + p + "</body></html>", "text/html", null);
-        WaitForFindResultsListener l = new WaitForFindResultsListener();
-        mOnUiThread.setFindListener(l);
 
         // highlight all the strings found
         mOnUiThread.findAll("all");
-        // make sure the findAll action is completed before findNext
-        l.get();
-        mOnUiThread.setFindListener(null);
+        getInstrumentation().waitForIdleSync();
 
         int previousScrollY = mOnUiThread.getScrollY();
 
diff --git a/tests/tests/widget/res/layout/relative_layout_baseline.xml b/tests/tests/widget/res/layout/relative_layout_baseline.xml
new file mode 100644
index 0000000..f4e9174
--- /dev/null
+++ b/tests/tests/widget/res/layout/relative_layout_baseline.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_margin="5dp" >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" >
+
+        <Button
+            android:id="@+id/button1"
+            android:layout_alignParentTop="true"
+            android:layout_width="150dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="@string/relative_view1"
+            android:layout_alignBottom="@+id/button2" />
+        <Button
+            android:id="@+id/button2"
+            android:layout_alignParentTop="true"
+            android:layout_toRightOf="@id/button1"
+            android:layout_width="150dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="20dp"
+            android:text="@string/relative_view2" />
+        <Button
+            android:id="@+id/button3"
+            android:layout_alignTop="@+id/button4"
+            android:layout_width="150dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:layout_alignBaseline="@+id/button4"
+            android:text="@string/relative_view3" />
+        <Button
+            android:id="@+id/button4"
+            android:layout_below="@id/button2"
+            android:layout_toRightOf="@id/button3"
+            android:layout_width="150dp"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="10dp"
+            android:text="@string/relative_view4" />
+
+        <TextView
+            android:id="@+id/textView"
+            android:layout_below="@+id/button3"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+    </RelativeLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
index 9d8c7d2..2b38827 100644
--- a/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/AbsListViewTest.java
@@ -194,12 +194,53 @@
         assertSame(mListView, onScrollListener.getView());
         assertEquals(mListView.getChildCount(), onScrollListener.getVisibleItemCount());
         assertEquals(mCountryList.length, onScrollListener.getTotalItemCount());
-        assertEquals(OnScrollListener.SCROLL_STATE_IDLE, onScrollListener.getScrollState());
 
         assertTrue(onScrollListener.isOnScrollCalled());
         assertTrue(onScrollListener.isOnScrollStateChangedCalled());
     }
 
+    public void testFling() throws Throwable {
+        MockOnScrollListener onScrollListener = new MockOnScrollListener();
+        mListView.setOnScrollListener(onScrollListener);
+
+        setAdapter();
+
+        // Fling down from top, expect a scroll.
+        fling(10000, onScrollListener);
+        assertTrue(onScrollListener.isOnScrollCalled());
+        assertTrue(0 < onScrollListener.getFirstVisibleItem());
+
+        // Fling up the same amount, expect a scroll to the original position.
+        fling(-10000, onScrollListener);
+        assertTrue(onScrollListener.isOnScrollCalled());
+        assertEquals(0, onScrollListener.getFirstVisibleItem());
+
+        // Fling up again, expect no scroll, as the viewport is already at top.
+        fling(-10000, onScrollListener);
+        assertFalse(onScrollListener.isOnScrollCalled());
+        assertEquals(0, onScrollListener.getFirstVisibleItem());
+
+        // Fling up again with a huge velocity, expect no scroll.
+        fling(-50000, onScrollListener);
+        assertFalse(onScrollListener.isOnScrollCalled());
+        assertEquals(0, onScrollListener.getFirstVisibleItem());
+    }
+
+    private void fling(int velocityY, MockOnScrollListener onScrollListener) throws Throwable {
+        onScrollListener.reset();
+
+        final int v = velocityY;
+        runTestOnUiThread(new Runnable() {
+            public void run() {
+                mListView.fling(v);
+            }
+        });
+
+        do {
+            mInstrumentation.waitForIdleSync();
+        } while (onScrollListener.getScrollState() != OnScrollListener.SCROLL_STATE_IDLE);
+    }
+
     public void testGetFocusedRect() throws Throwable {
         setAdapter(mAdapter_short);
         setListSelection(0);
diff --git a/tests/tests/widget/src/android/widget/cts/AdapterViewTest.java b/tests/tests/widget/src/android/widget/cts/AdapterViewTest.java
index 81a1a4b..6a2240e 100644
--- a/tests/tests/widget/src/android/widget/cts/AdapterViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/AdapterViewTest.java
@@ -37,6 +37,7 @@
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.AdapterView.OnItemLongClickListener;
 import android.widget.AdapterView.OnItemSelectedListener;
+import android.provider.Settings;
 
 import com.android.cts.widget.R;
 
@@ -211,8 +212,12 @@
         setArrayAdapter(mAdapterView);
 
         // LastVisiblePosition should be adapter's getCount - 1,by mocking method
+        float fontScale = Settings.System.getFloat(mActivity.getContentResolver(), Settings.System.FONT_SCALE, 1);
+        if (fontScale < 1) {
+            fontScale = 1;
+        }
         float density = mActivity.getResources().getDisplayMetrics().density;
-        int bottom = (int) (LAYOUT_HEIGHT * density);
+        int bottom = (int) (LAYOUT_HEIGHT * density * fontScale);
         mAdapterView.layout(0, 0, LAYOUT_WIDTH, bottom);
         assertEquals(FRUIT.length - 1, mAdapterView.getLastVisiblePosition());
     }
diff --git a/tests/tests/widget/src/android/widget/cts/CursorAdapterTest.java b/tests/tests/widget/src/android/widget/cts/CursorAdapterTest.java
index fc5eb08..730083e 100644
--- a/tests/tests/widget/src/android/widget/cts/CursorAdapterTest.java
+++ b/tests/tests/widget/src/android/widget/cts/CursorAdapterTest.java
@@ -345,8 +345,8 @@
     }
 
     private final class MockCursorAdapter extends CursorAdapter {
-        private final Context mContext;
-        private final boolean mAutoRequery;
+        private Context mContext;
+        private boolean mAutoRequery;
 
         private boolean mContentChanged = false;
 
@@ -391,6 +391,9 @@
         @Override
         public void init(Context context, Cursor c, boolean autoRequery) {
             super.init(context, c, autoRequery);
+
+            mContext = context;
+            mAutoRequery = autoRequery;
         }
 
         @Override
diff --git a/tests/tests/widget/src/android/widget/cts/GalleryTest.java b/tests/tests/widget/src/android/widget/cts/GalleryTest.java
index a3ac16c..581107c 100644
--- a/tests/tests/widget/src/android/widget/cts/GalleryTest.java
+++ b/tests/tests/widget/src/android/widget/cts/GalleryTest.java
@@ -307,189 +307,6 @@
         assertEquals(index + 1, gallery.getChildDrawingOrder(childCount, index));
     }
 
-    @UiThreadTest
-    public void testGetContextMenuInfo() {
-        MockOnCreateContextMenuListener listener = new MockOnCreateContextMenuListener();
-        MyGallery gallery = new MyGallery(mContext);
-        gallery.setOnCreateContextMenuListener(listener);
-        assertFalse(listener.hasCreatedContextMenu());
-        gallery.createContextMenu(new MockContextMenu());
-        assertTrue(listener.hasCreatedContextMenu());
-        assertSame(gallery.getContextMenuInfo(), listener.getContextMenuInfo());
-    }
-
-    private static class MockContextMenu implements ContextMenu {
-        @Override
-        public ContextMenu setHeaderTitle(int titleRes) {
-            return null;
-        }
-
-        @Override
-        public ContextMenu setHeaderTitle(CharSequence title) {
-            return null;
-        }
-
-        @Override
-        public ContextMenu setHeaderIcon(int iconRes) {
-            return null;
-        }
-
-        @Override
-        public ContextMenu setHeaderIcon(Drawable icon) {
-            return null;
-        }
-
-        @Override
-        public ContextMenu setHeaderView(View view) {
-            return null;
-        }
-
-        @Override
-        public void clearHeader() {
-
-        }
-
-        @Override
-        public MenuItem add(CharSequence title) {
-            return null;
-        }
-
-        @Override
-        public MenuItem add(int titleRes) {
-            return null;
-        }
-
-        @Override
-        public MenuItem add(int groupId, int itemId, int order, CharSequence title) {
-            return null;
-        }
-
-        @Override
-        public MenuItem add(int groupId, int itemId, int order, int titleRes) {
-            return null;
-        }
-
-        @Override
-        public SubMenu addSubMenu(CharSequence title) {
-            return null;
-        }
-
-        @Override
-        public SubMenu addSubMenu(int titleRes) {
-            return null;
-        }
-
-        @Override
-        public SubMenu addSubMenu(int groupId, int itemId, int order,
-                CharSequence title) {
-            return null;
-        }
-
-        @Override
-        public SubMenu addSubMenu(int groupId, int itemId, int order, int titleRes) {
-            return null;
-        }
-
-        @Override
-        public int addIntentOptions(int groupId, int itemId, int order, ComponentName caller,
-                Intent[] specifics, Intent intent, int flags, MenuItem[] outSpecificItems) {
-            return 0;
-        }
-
-        @Override
-        public void removeItem(int id) {
-
-        }
-
-        @Override
-        public void removeGroup(int groupId) {
-
-        }
-
-        @Override
-        public void clear() {
-
-        }
-
-        @Override
-        public void setGroupCheckable(int group, boolean checkable, boolean exclusive) {
-
-        }
-
-        @Override
-        public void setGroupVisible(int group, boolean visible) {
-
-        }
-
-        @Override
-        public void setGroupEnabled(int group, boolean enabled) {
-
-        }
-
-        @Override
-        public boolean hasVisibleItems() {
-            return false;
-        }
-
-        @Override
-        public MenuItem findItem(int id) {
-            return null;
-        }
-
-        @Override
-        public int size() {
-            return 0;
-        }
-
-        @Override
-        public MenuItem getItem(int index) {
-            return null;
-        }
-
-        @Override
-        public void close() {
-
-        }
-
-        @Override
-        public boolean performShortcut(int keyCode, KeyEvent event, int flags) {
-            return false;
-        }
-
-        @Override
-        public boolean isShortcutKey(int keyCode, KeyEvent event) {
-            return false;
-        }
-
-        @Override
-        public boolean performIdentifierAction(int id, int flags) {
-            return false;
-        }
-
-        @Override
-        public void setQwertyMode(boolean isQwerty) {
-
-        }
-    }
-
-    private static class MockOnCreateContextMenuListener implements OnCreateContextMenuListener {
-        private boolean hasCreatedContextMenu;
-        private ContextMenuInfo mContextMenuInfo;
-
-        public boolean hasCreatedContextMenu() {
-            return hasCreatedContextMenu;
-        }
-
-        public ContextMenuInfo getContextMenuInfo() {
-            return mContextMenuInfo;
-        }
-
-        public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
-            hasCreatedContextMenu = true;
-            mContextMenuInfo = menuInfo;
-        }
-    }
-
     private static class ImageAdapter extends BaseAdapter {
         public ImageAdapter(Context c) {
             mContext = c;
diff --git a/tests/tests/widget/src/android/widget/cts/ListViewTest.java b/tests/tests/widget/src/android/widget/cts/ListViewTest.java
index f6f490f..838f7a8 100644
--- a/tests/tests/widget/src/android/widget/cts/ListViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/ListViewTest.java
@@ -427,7 +427,6 @@
 
         final Drawable d = mActivity.getResources().getDrawable(R.drawable.scenery);
 
-        Rect r2 = d.getBounds();
         mInstrumentation.runOnMainSync(new Runnable() {
             public void run() {
                 mListView.setDivider(d);
@@ -435,7 +434,7 @@
         });
         mInstrumentation.waitForIdleSync();
         assertSame(d, mListView.getDivider());
-        assertEquals(r2.bottom - r2.top, mListView.getDividerHeight());
+        assertEquals(d.getBounds().height(), mListView.getDividerHeight());
 
         mInstrumentation.runOnMainSync(new Runnable() {
             public void run() {
@@ -444,7 +443,7 @@
         });
         mInstrumentation.waitForIdleSync();
         assertEquals(10, mListView.getDividerHeight());
-        assertEquals(10, r2.bottom - r2.top);
+        assertEquals(10, d.getBounds().height());
     }
 
     public void testSetSelection() {
diff --git a/tests/tests/widget/src/android/widget/cts/QuickContactBadgeTest.java b/tests/tests/widget/src/android/widget/cts/QuickContactBadgeTest.java
index 25d8e5e..a65bbe9 100644
--- a/tests/tests/widget/src/android/widget/cts/QuickContactBadgeTest.java
+++ b/tests/tests/widget/src/android/widget/cts/QuickContactBadgeTest.java
@@ -21,6 +21,8 @@
 import android.content.ContextWrapper;
 import android.content.Intent;
 import android.net.Uri;
+import android.os.Bundle;
+import android.os.UserHandle;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.Contacts;
 import android.test.InstrumentationTestCase;
@@ -43,6 +45,16 @@
                 testCallback(intent);
             }
 
+            // @Override
+            public void startActivityAsUser(Intent intent, UserHandle user) {
+                testCallback(intent);
+            }
+
+            // @Override
+            public void startActivityAsUser(Intent intent, Bundle options, UserHandle user) {
+                testCallback(intent);
+            }
+
             private void testCallback(Intent intent) {
                 assertEquals(plainMimeType, intent.getStringExtra(
                         ContactsContract.QuickContact.EXTRA_PRIORITIZED_MIMETYPE));
diff --git a/tests/tests/widget/src/android/widget/cts/RelativeLayoutTest.java b/tests/tests/widget/src/android/widget/cts/RelativeLayoutTest.java
index aae069a..b228ca6 100644
--- a/tests/tests/widget/src/android/widget/cts/RelativeLayoutTest.java
+++ b/tests/tests/widget/src/android/widget/cts/RelativeLayoutTest.java
@@ -329,6 +329,30 @@
         assertEquals("Get missing rule", 0, p.getRule(RelativeLayout.ABOVE));
     }
 
+    /**
+     * Tests to prevent regressions in baseline alignment.
+     */
+    public void testBaselineAlignment() {
+        mActivity.runOnUiThread(new Runnable() {
+            public void run() {
+                mActivity.setContentView(R.layout.relative_layout_baseline);
+            }
+        });
+        getInstrumentation().waitForIdleSync();
+
+        View button = mActivity.findViewById(R.id.button1);
+        assertTrue(button.getHeight() > 0);
+
+        button = mActivity.findViewById(R.id.button2);
+        assertTrue(button.getHeight() > 0);
+
+        button = mActivity.findViewById(R.id.button3);
+        assertTrue(button.getHeight() > 0);
+
+        button = mActivity.findViewById(R.id.button4);
+        assertTrue(button.getHeight() > 0);
+    }
+
     private class MyRelativeLayout extends RelativeLayout {
         public MyRelativeLayout(Context context) {
             super(context);
diff --git a/tests/tests/widget/src/android/widget/cts/ResourceCursorAdapterTest.java b/tests/tests/widget/src/android/widget/cts/ResourceCursorAdapterTest.java
index 52d699b..580be27 100644
--- a/tests/tests/widget/src/android/widget/cts/ResourceCursorAdapterTest.java
+++ b/tests/tests/widget/src/android/widget/cts/ResourceCursorAdapterTest.java
@@ -175,7 +175,8 @@
         public MockResourceCursorAdapter(Context context, int layout, Cursor c) {
             super(context, layout, c);
 
-            mAutoRequery = false;
+            // Default is true.
+            mAutoRequery = true;
         }
 
         public MockResourceCursorAdapter(Context context, int layout,
diff --git a/tests/tests/widget/src/android/widget/cts/TextViewTest.java b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
index 936f38f..3130a26 100644
--- a/tests/tests/widget/src/android/widget/cts/TextViewTest.java
+++ b/tests/tests/widget/src/android/widget/cts/TextViewTest.java
@@ -809,13 +809,14 @@
         add = Float.MIN_VALUE;
         mult = Float.MIN_VALUE;
         setLineSpacing(add, mult);
-        float expected = originalLineHeight * mult + add;
-        assertEquals(Math.round(expected), mTextView.getLineHeight());
+        assertEquals(Math.round(originalLineHeight * mult + add), mTextView.getLineHeight());
+
+        // edge case where the behavior of Math.round() deviates from
+        // FastMath.round(), requiring us to use an explicit 0 value
         add = Float.MAX_VALUE;
         mult = Float.MAX_VALUE;
         setLineSpacing(add, mult);
-        expected = originalLineHeight * mult + add;
-        assertEquals(Math.round(expected), mTextView.getLineHeight());
+        assertEquals(0, mTextView.getLineHeight());
     }
 
     public void testInstanceState() {
diff --git a/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java b/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
index 7e44e49..7e4c367 100644
--- a/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
+++ b/tests/uiautomator/src/com/android/cts/uiautomatortest/CtsUiAutomatorTest.java
@@ -827,17 +827,17 @@
         assertTrue("Pinch must be in center of target view", p2s.y == screenRect.centerY());
 
         assertTrue("Touch-down X coordinate for pointer 1 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX(), p1s.x));
+                withinMarginOfError(0.125f, screenRect.centerX(), p1s.x));
 
         assertTrue("Touch-down X coordinate for pointer 2 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX(), p2s.x));
+                withinMarginOfError(0.125f, screenRect.centerX(), p2s.x));
 
         assertTrue("Touch-up X coordinate for pointer 1 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX() - screenRect.left,
+                withinMarginOfError(0.125f, screenRect.centerX() - screenRect.left,
                         screenRect.centerX() - p1e.x));
 
         assertTrue("Touch-up X coordinate for pointer 2 is invalid",
-                withinMarginOfError(0.1f, screenRect.right, p2e.x));
+                withinMarginOfError(0.125f, screenRect.right, p2e.x));
     }
 
     /**
@@ -881,17 +881,17 @@
         assertTrue("Pinch must be in center of target view", p2s.y == screenRect.centerY());
 
         assertTrue("Touch-down X coordinate for pointer 1 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX() - screenRect.left,
+                withinMarginOfError(0.125f, screenRect.centerX() - screenRect.left,
                         screenRect.centerX() -  p1s.x));
 
         assertTrue("Touch-down X coordinate for pointer 2 is invalid",
-                withinMarginOfError(0.1f, screenRect.right, p2s.x));
+                withinMarginOfError(0.125f, screenRect.right, p2s.x));
 
         assertTrue("Touch-up X coordinate for pointer 1 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX() - FINGER_TOUCH_HALF_WIDTH, p1e.x));
+                withinMarginOfError(0.125f, screenRect.centerX() - FINGER_TOUCH_HALF_WIDTH, p1e.x));
 
         assertTrue("Touch-up X coordinate for pointer 2 is invalid",
-                withinMarginOfError(0.1f, screenRect.centerX() + FINGER_TOUCH_HALF_WIDTH, p2e.x));
+                withinMarginOfError(0.125f, screenRect.centerX() + FINGER_TOUCH_HALF_WIDTH, p2e.x));
     }
 
     /**
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiClass.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiClass.java
index 31e1f8d..73cea67 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiClass.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiClass.java
@@ -24,6 +24,8 @@
 /** Representation of a class in the API with constructors and methods. */
 class ApiClass implements Comparable<ApiClass>, HasCoverage {
 
+    private static final String VOID = "void";
+
     private final String mName;
 
     private final boolean mDeprecated;
@@ -34,10 +36,25 @@
 
     private final List<ApiMethod> mApiMethods = new ArrayList<ApiMethod>();
 
-    ApiClass(String name, boolean deprecated, boolean classAbstract) {
+    private final String mSuperClassName;
+
+    private ApiClass mSuperClass;
+
+    /**
+     * @param name The name of the class
+     * @param deprecated true iff the class is marked as deprecated
+     * @param classAbstract true iff the class is abstract
+     * @param superClassName The fully qualified name of the super class
+     */
+    ApiClass(
+            String name,
+            boolean deprecated,
+            boolean classAbstract,
+            String superClassName) {
         mName = name;
         mDeprecated = deprecated;
         mAbstract = classAbstract;
+        mSuperClassName = superClassName;
     }
 
     @Override
@@ -54,22 +71,20 @@
         return mDeprecated;
     }
 
+    public String getSuperClassName() {
+        return mSuperClassName;
+    }
+
     public boolean isAbstract() {
         return mAbstract;
     }
 
+    public void setSuperClass(ApiClass superClass) { mSuperClass = superClass; }
+
     public void addConstructor(ApiConstructor constructor) {
         mApiConstructors.add(constructor);
     }
 
-    public ApiConstructor getConstructor(List<String> parameterTypes) {
-        for (ApiConstructor constructor : mApiConstructors) {
-            if (parameterTypes.equals(constructor.getParameterTypes())) {
-                return constructor;
-            }
-        }
-        return null;
-    }
 
     public Collection<ApiConstructor> getConstructors() {
         return Collections.unmodifiableList(mApiConstructors);
@@ -79,15 +94,29 @@
         mApiMethods.add(method);
     }
 
-    public ApiMethod getMethod(String name, List<String> parameterTypes, String returnType) {
-        for (ApiMethod method : mApiMethods) {
-            if (name.equals(method.getName())
-                    && parameterTypes.equals(method.getParameterTypes())
-                    && returnType.equals(method.getReturnType())) {
-                return method;
-            }
+    /** Look for a matching constructor and mark it as covered */
+    public void markConstructorCovered(List<String> parameterTypes) {
+        if (mSuperClass != null) {
+            // Mark matching constructors in the superclass
+            mSuperClass.markConstructorCovered(parameterTypes);
         }
-        return null;
+        ApiConstructor apiConstructor = getConstructor(parameterTypes);
+        if (apiConstructor != null) {
+            apiConstructor.setCovered(true);
+        }
+
+    }
+
+    /** Look for a matching method and if found and mark it as covered */
+    public void markMethodCovered(String name, List<String> parameterTypes, String returnType) {
+        if (mSuperClass != null) {
+            // Mark matching methods in the super class
+            mSuperClass.markMethodCovered(name, parameterTypes, returnType);
+        }
+        ApiMethod apiMethod = getMethod(name, parameterTypes, returnType);
+        if (apiMethod != null) {
+            apiMethod.setCovered(true);
+        }
     }
 
     public Collection<ApiMethod> getMethods() {
@@ -126,4 +155,89 @@
     public int getMemberSize() {
         return getTotalMethods();
     }
+
+    private ApiMethod getMethod(String name, List<String> parameterTypes, String returnType) {
+        for (ApiMethod method : mApiMethods) {
+            boolean methodNameMatch = name.equals(method.getName());
+            boolean parameterTypeMatch =
+                    compareParameterTypes(method.getParameterTypes(), parameterTypes);
+            boolean returnTypeMatch = compareType(method.getReturnType(), returnType);
+            if (methodNameMatch && parameterTypeMatch && returnTypeMatch) {
+                return method;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * The method compares two lists of parameters. If the {@code apiParameterTypeList} contains
+     * generic types, test parameter types are ignored.
+     *
+     * @param apiParameterTypeList The list of parameter types from the API
+     * @param testParameterTypeList The list of parameter types used in a test
+     * @return true iff the list of types are the same.
+     */
+    private static boolean compareParameterTypes(
+            List<String> apiParameterTypeList, List<String> testParameterTypeList) {
+        if (apiParameterTypeList.equals(testParameterTypeList)) {
+            return true;
+        }
+        if (apiParameterTypeList.size() != testParameterTypeList.size()) {
+            return false;
+        }
+
+        for (int i = 0; i < apiParameterTypeList.size(); i++) {
+            String apiParameterType = apiParameterTypeList.get(i);
+            String testParameterType = testParameterTypeList.get(i);
+            if (!compareType(apiParameterType, testParameterType)) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Compare class types.
+     * @param apiType The type as reported by the api
+     * @param testType The type as found used in a test
+     * @return true iff the strings are equal,
+     * or the apiType is generic and the test type is not void
+     */
+    private static boolean compareType(String apiType, String testType) {
+        return apiType.equals(testType) ||
+                isGenericType(apiType) && !testType.equals(VOID) ||
+                isGenericArrayType(apiType) && isArrayType(testType) ;
+    }
+
+    /**
+     * @return true iff the given parameterType is a generic type.
+     */
+    private static boolean isGenericType(String type) {
+        return type.length() == 1 &&
+                type.charAt(0) >= 'A' &&
+                type.charAt(0) <= 'Z';
+    }
+
+    /**
+     * @return true iff {@code type} ends with an [].
+     */
+    private static boolean isArrayType(String type) {
+        return type.endsWith("[]");
+    }
+
+    /**
+     * @return true iff the given parameterType is an array of generic type.
+     */
+    private static boolean isGenericArrayType(String type) {
+        return type.length() == 3 && isGenericType(type.substring(0, 1)) && isArrayType(type);
+    }
+
+    private ApiConstructor getConstructor(List<String> parameterTypes) {
+        for (ApiConstructor constructor : mApiConstructors) {
+            if (compareParameterTypes(constructor.getParameterTypes(), parameterTypes)) {
+                return constructor;
+            }
+        }
+        return null;
+    }
 }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiCoverage.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiCoverage.java
index adf2ea9..953aab3 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiCoverage.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiCoverage.java
@@ -39,10 +39,11 @@
         return Collections.unmodifiableCollection(mPackages.values());
     }
 
-    public void removeEmptyAbstractClasses() {
+    /** Iterate through all packages and update all classes to include its superclass */
+    public void resolveSuperClasses() {
         for (Map.Entry<String, ApiPackage> entry : mPackages.entrySet()) {
             ApiPackage pkg = entry.getValue();
-            pkg.removeEmptyAbstractClasses();
+            pkg.resolveSuperClasses(mPackages);
         }
     }
 }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiMethod.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiMethod.java
index 053cd12..582c2b6 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiMethod.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiMethod.java
@@ -29,15 +29,35 @@
 
     private final String mReturnType;
 
-    private boolean mDeprecated;
+    private final boolean mDeprecated;
+
+    private final String mVisibility;
+
+    private final boolean mStaticMethod;
+
+    private final boolean mFinalMethod;
+
+    private final boolean mAbstractMethod;
 
     private boolean mIsCovered;
 
-    ApiMethod(String name, List<String> parameterTypes, String returnType, boolean deprecated) {
+    ApiMethod(
+            String name,
+            List<String> parameterTypes,
+            String returnType,
+            boolean deprecated,
+            String visibility,
+            boolean staticMethod,
+            boolean finalMethod,
+            boolean abstractMethod) {
         mName = name;
         mParameterTypes = new ArrayList<String>(parameterTypes);
         mReturnType = returnType;
         mDeprecated = deprecated;
+        mVisibility = visibility;
+        mStaticMethod = staticMethod;
+        mFinalMethod = finalMethod;
+        mAbstractMethod = abstractMethod;
     }
 
     @Override
@@ -65,6 +85,14 @@
         return mIsCovered;
     }
 
+    public String getVisibility() { return mVisibility; }
+
+    public boolean isAbstractMethod() { return mAbstractMethod; }
+
+    public boolean isStaticMethod() { return mStaticMethod; }
+
+    public boolean isFinalMethod() { return mFinalMethod; }
+
     public void setCovered(boolean covered) {
         mIsCovered = covered;
     }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiPackage.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiPackage.java
index e0bf73f..7be7e3c 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiPackage.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/ApiPackage.java
@@ -77,14 +77,26 @@
         return getTotalMethods();
     }
 
-    public void removeEmptyAbstractClasses() {
+    /** Iterate through all classes and add superclass. */
+    public void resolveSuperClasses(Map<String, ApiPackage> packageMap) {
         Iterator<Entry<String, ApiClass>> it = mApiClassMap.entrySet().iterator();
         while (it.hasNext()) {
             Map.Entry<String, ApiClass> entry = it.next();
-            ApiClass cls = entry.getValue();
-            if (cls.isAbstract() && (cls.getTotalMethods() == 0)) {
-                // this is essentially interface
-                it.remove();
+            ApiClass apiClass = entry.getValue();
+            if (apiClass.getSuperClassName() != null) {
+                String superClassName = apiClass.getSuperClassName();
+                // Split the fully qualified class name into package and class name.
+                String packageName = superClassName.substring(0, superClassName.lastIndexOf('.'));
+                String className = superClassName.substring(
+                        superClassName.lastIndexOf('.') + 1, superClassName.length());
+                if (packageMap.containsKey(packageName)) {
+                    ApiPackage apiPackage = packageMap.get(packageName);
+                    ApiClass superClass = apiPackage.getClass(className);
+                    if (superClass != null) {
+                        // Add the super class
+                        apiClass.setSuperClass(superClass);
+                    }
+                }
             }
         }
     }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/CtsApiCoverage.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/CtsApiCoverage.java
index 05cb4e19..3f2f353 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/CtsApiCoverage.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/CtsApiCoverage.java
@@ -117,7 +117,8 @@
          */
 
         ApiCoverage apiCoverage = getEmptyApiCoverage(apiXmlPath);
-        apiCoverage.removeEmptyAbstractClasses();
+        // Add superclass information into api coverage.
+        apiCoverage.resolveSuperClasses();
         for (File testApk : testApks) {
             addApiCoverage(apiCoverage, testApk, dexDeps);
         }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/CurrentXmlHandler.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/CurrentXmlHandler.java
index b9f9e9c..de9f5d5 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/CurrentXmlHandler.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/CurrentXmlHandler.java
@@ -40,6 +40,12 @@
 
     private boolean mCurrentMethodIsAbstract;
 
+    private String mCurrentMethodVisibility;
+
+    private boolean mCurrentMethodStaticMethod;
+
+    private boolean mCurrentMethodFinalMethod;
+
     private boolean mDeprecated;
 
 
@@ -69,7 +75,9 @@
             mIgnoreCurrentClass = false;
             mCurrentClassName = getValue(attributes, "name");
             mDeprecated = isDeprecated(attributes);
-            ApiClass apiClass = new ApiClass(mCurrentClassName, mDeprecated, isAbstract(attributes));
+            String superClass = attributes.getValue("extends");
+            ApiClass apiClass = new ApiClass(
+                    mCurrentClassName, mDeprecated, is(attributes, "abstract"), superClass);
             ApiPackage apiPackage = mApiCoverage.getPackage(mCurrentPackageName);
             apiPackage.addClass(apiClass);
         } else if ("interface".equalsIgnoreCase(localName)) {
@@ -82,7 +90,10 @@
             mDeprecated = isDeprecated(attributes);
             mCurrentMethodName = getValue(attributes, "name");
             mCurrentMethodReturnType = getValue(attributes, "return");
-            mCurrentMethodIsAbstract = isAbstract(attributes);
+            mCurrentMethodIsAbstract = is(attributes, "abstract");
+            mCurrentMethodVisibility = getValue(attributes, "visibility");
+            mCurrentMethodStaticMethod = is(attributes, "static");
+            mCurrentMethodFinalMethod = is(attributes, "final");
             mCurrentParameterTypes.clear();
         } else if ("parameter".equalsIgnoreCase(localName)) {
             mCurrentParameterTypes.add(getValue(attributes, "type"));
@@ -107,11 +118,15 @@
             ApiClass apiClass = apiPackage.getClass(mCurrentClassName);
             apiClass.addConstructor(apiConstructor);
         }  else if ("method".equalsIgnoreCase(localName)) {
-            if (mCurrentMethodIsAbstract) { // do not add abstract method
-                return;
-            }
-            ApiMethod apiMethod = new ApiMethod(mCurrentMethodName, mCurrentParameterTypes,
-                    mCurrentMethodReturnType, mDeprecated);
+            ApiMethod apiMethod = new ApiMethod(
+                    mCurrentMethodName,
+                    mCurrentParameterTypes,
+                    mCurrentMethodReturnType,
+                    mDeprecated,
+                    mCurrentMethodVisibility,
+                    mCurrentMethodStaticMethod,
+                    mCurrentMethodFinalMethod,
+                    mCurrentMethodIsAbstract);
             ApiPackage apiPackage = mApiCoverage.getPackage(mCurrentPackageName);
             ApiClass apiClass = apiPackage.getClass(mCurrentClassName);
             apiClass.addMethod(apiMethod);
@@ -129,8 +144,8 @@
         return "deprecated".equals(attributes.getValue("deprecated"));
     }
 
-    private boolean isAbstract(Attributes attributes) {
-        return "true".equals(attributes.getValue("abstract"));
+    private static boolean is(Attributes attributes, String valueName) {
+        return "true".equals(attributes.getValue(valueName));
     }
 
     private boolean isEnum(Attributes attributes) {
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/DexDepsXmlHandler.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/DexDepsXmlHandler.java
index 0a90bdd..3df532e 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/DexDepsXmlHandler.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/DexDepsXmlHandler.java
@@ -73,10 +73,7 @@
             if (apiPackage != null) {
                 ApiClass apiClass = apiPackage.getClass(mCurrentClassName);
                 if (apiClass != null) {
-                    ApiConstructor apiConstructor = apiClass.getConstructor(mCurrentParameterTypes);
-                    if (apiConstructor != null) {
-                        apiConstructor.setCovered(true);
-                    }
+                    apiClass.markConstructorCovered(mCurrentParameterTypes);
                 }
             }
         }  else if ("method".equalsIgnoreCase(localName)) {
@@ -84,11 +81,8 @@
             if (apiPackage != null) {
                 ApiClass apiClass = apiPackage.getClass(mCurrentClassName);
                 if (apiClass != null) {
-                    ApiMethod apiMethod = apiClass.getMethod(mCurrentMethodName,
-                            mCurrentParameterTypes, mCurrentMethodReturnType);
-                    if (apiMethod != null) {
-                        apiMethod.setCovered(true);
-                    }
+                    apiClass.markMethodCovered(
+                            mCurrentMethodName, mCurrentParameterTypes, mCurrentMethodReturnType);
                 }
             }
         }
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/TextReport.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/TextReport.java
index e3e2e7c..3adc020 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/TextReport.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/TextReport.java
@@ -103,7 +103,18 @@
     private static void printMethod(ApiMethod method, PrintStream out) {
         StringBuilder builder = new StringBuilder("    [")
                 .append(method.isCovered() ? "X" : " ")
-                .append("] ").append(method.getReturnType()).append(" ")
+                .append("] ")
+                .append(method.getVisibility()).append(" ");
+        if (method.isAbstractMethod()) {
+            builder.append("abstract ");
+        }
+        if (method.isStaticMethod()) {
+            builder.append("static ");
+        }
+        if (method.isFinalMethod()) {
+            builder.append("final ");
+        }
+        builder.append(method.getReturnType()).append(" ")
                 .append(method.getName()).append("(");
         List<String> parameterTypes = method.getParameterTypes();
         int numParameterTypes = parameterTypes.size();
diff --git a/tools/cts-api-coverage/src/com/android/cts/apicoverage/XmlReport.java b/tools/cts-api-coverage/src/com/android/cts/apicoverage/XmlReport.java
index 570b316..4310d20 100644
--- a/tools/cts-api-coverage/src/com/android/cts/apicoverage/XmlReport.java
+++ b/tools/cts-api-coverage/src/com/android/cts/apicoverage/XmlReport.java
@@ -66,7 +66,7 @@
                         + "\" numCovered=\"" + pkgTotalCovered
                         + "\" numTotal=\"" + pkgTotal
                         + "\" coveragePercentage=\""
-                            + Math.round(pkg.getCoveragePercentage())
+                        + Math.round(pkg.getCoveragePercentage())
                         + "\">");
 
                 List<ApiClass> classes = new ArrayList<ApiClass>(pkg.getClasses());
@@ -103,6 +103,10 @@
                             out.println("<method name=\"" + method.getName()
                                     + "\" returnType=\"" + method.getReturnType()
                                     + "\" deprecated=\"" + method.isDeprecated()
+                                    + "\" static=\"" + method.isStaticMethod()
+                                    + "\" final=\"" + method.isFinalMethod()
+                                    + "\" visibility=\"" + method.getVisibility()
+                                    + "\" abstract=\"" + method.isAbstractMethod()
                                     + "\" covered=\"" + method.isCovered() + "\">");
                             if (method.isDeprecated()) {
                                 if (method.isCovered()) {
diff --git a/tools/cts-api-coverage/src/res/api-coverage.xsl b/tools/cts-api-coverage/src/res/api-coverage.xsl
index b11a8c4..1a56eb0 100644
--- a/tools/cts-api-coverage/src/res/api-coverage.xsl
+++ b/tools/cts-api-coverage/src/res/api-coverage.xsl
@@ -101,14 +101,17 @@
                     <xsl:for-each select="api-coverage/api/package">
                         <xsl:call-template name="packageOrClassListItem">
                             <xsl:with-param name="bulletClass" select="'package'" />
+                            <xsl:with-param name="toggleId" select="@name" />
                         </xsl:call-template>
                         <div class="packageDetails" id="{@name}" style="display: none">
                             <ul>
                                 <xsl:for-each select="class">
+                                    <xsl:variable name="packageClassId" select="concat(../@name, '.', @name)"/>
                                     <xsl:call-template name="packageOrClassListItem">
                                         <xsl:with-param name="bulletClass" select="'class'" />
+                                        <xsl:with-param name="toggleId" select="$packageClassId" />
                                     </xsl:call-template>
-                                    <div class="classDetails" id="{@name}" style="display: none">
+                                    <div class="classDetails" id="{$packageClassId}" style="display: none">
                                         <xsl:for-each select="constructor">
                                             <xsl:call-template name="methodListItem" />
                                         </xsl:for-each>
@@ -124,9 +127,10 @@
             </body>
         </html>
     </xsl:template>
-    
+
     <xsl:template name="packageOrClassListItem">
         <xsl:param name="bulletClass" />
+        <xsl:param name="toggleId"/>
 
         <xsl:variable name="colorClass">
             <xsl:choose>
@@ -135,7 +139,7 @@
                 <xsl:otherwise>green</xsl:otherwise>
             </xsl:choose>
         </xsl:variable>
-        
+
         <xsl:variable name="deprecatedClass">
             <xsl:choose>
                 <xsl:when test="@deprecated = 'true'">deprecated</xsl:when>
@@ -143,15 +147,15 @@
             </xsl:choose>
         </xsl:variable>
 
-        <li class="{$bulletClass}" onclick="toggleVisibility('{@name}')">
+        <li class="{$bulletClass}" onclick="toggleVisibility('{$toggleId}')">
             <span class="{$colorClass} {$deprecatedClass}">
                 <b><xsl:value-of select="@name" /></b>
                 &nbsp;<xsl:value-of select="@coveragePercentage" />%
                 &nbsp;(<xsl:value-of select="@numCovered" />/<xsl:value-of select="@numTotal" />)
             </span>
-        </li>   
+        </li>
     </xsl:template>
-  
+
   <xsl:template name="methodListItem">
 
     <xsl:variable name="deprecatedClass">
@@ -166,6 +170,10 @@
         <xsl:when test="@covered = 'true'">[X]</xsl:when>
         <xsl:otherwise>[ ]</xsl:otherwise>
       </xsl:choose>
+      <xsl:if test="@visibility != ''">&nbsp;<xsl:value-of select="@visibility" /></xsl:if>
+      <xsl:if test="@abstract = 'true'">&nbsp;abstract</xsl:if>
+      <xsl:if test="@static = 'true'">&nbsp;static</xsl:if>
+      <xsl:if test="@final = 'true'">&nbsp;final</xsl:if>
       <xsl:if test="@returnType != ''">&nbsp;<xsl:value-of select="@returnType" /></xsl:if>
       <b>&nbsp;<xsl:value-of select="@name" /></b><xsl:call-template name="formatParameters" />
     </span>
diff --git a/tools/cts-device-info/Android.mk b/tools/cts-device-info/Android.mk
new file mode 100644
index 0000000..5f2b223
--- /dev/null
+++ b/tools/cts-device-info/Android.mk
@@ -0,0 +1,28 @@
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-java-files-under, src)
+
+DEVICE_INFO_PERMISSIONS :=
+
+DEVICE_INFO_ACTIVITIES :=
+
+LOCAL_PACKAGE_NAME := CtsDeviceInfo
+
+include $(BUILD_CTS_DEVICE_INFO_PACKAGE)
+
diff --git a/tools/cts-device-info/src/com/android/cts/deviceinfo/SampleDeviceInfo.java b/tools/cts-device-info/src/com/android/cts/deviceinfo/SampleDeviceInfo.java
new file mode 100644
index 0000000..886193c
--- /dev/null
+++ b/tools/cts-device-info/src/com/android/cts/deviceinfo/SampleDeviceInfo.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.deviceinfo;
+
+import android.os.Bundle;
+
+import com.android.compatibility.common.deviceinfo.DeviceInfoActivity;
+
+/**
+ * Sample device info collector.
+ */
+public class SampleDeviceInfo extends DeviceInfoActivity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void collectDeviceInfo() {
+        boolean[] booleans = {Boolean.TRUE, Boolean.FALSE};
+        double[] doubles = {Double.MAX_VALUE, Double.MIN_VALUE};
+        int[] ints = {Integer.MAX_VALUE, Integer.MIN_VALUE};
+        long[] longs = {Long.MAX_VALUE, Long.MIN_VALUE};
+
+        // Group Foo
+        startGroup("foo");
+        addResult("foo_boolean", Boolean.TRUE);
+
+        // Group Bar
+        startGroup("bar");
+        addArray("bar_string", new String[] {
+                "bar-string-1",
+                "bar-string-2",
+                "bar-string-3"});
+
+        addArray("bar_boolean", booleans);
+        addArray("bar_double", doubles);
+        addArray("bar_int", ints);
+        addArray("bar_long", longs);
+        endGroup(); // bar
+
+        addResult("foo_double", Double.MAX_VALUE);
+        addResult("foo_int", Integer.MAX_VALUE);
+        addResult("foo_long", Long.MAX_VALUE);
+        addResult("foo_string", "foo-string");
+        endGroup(); // foo
+    }
+}
+
diff --git a/tools/cts-media/copy_media.sh b/tools/cts-media/copy_media.sh
index 3998dc3..cf0d099 100755
--- a/tools/cts-media/copy_media.sh
+++ b/tools/cts-media/copy_media.sh
@@ -45,24 +45,24 @@
 
 if [ $max_resolution -ge 3 ]; then
   echo "copying 1920x1080"
-  adb $adb_options push bbb_short/1920x1080 /mnt/sdcard/test/bbb_short/1920x1080
-  adb $adb_options push bbb_full/1920x1080 /mnt/sdcard/test/bbb_full/1920x1080
+  adb $adb_options push bbb_short/1920x1080 /sdcard/test/bbb_short/1920x1080
+  adb $adb_options push bbb_full/1920x1080 /sdcard/test/bbb_full/1920x1080
 fi
 
 if [ $max_resolution -ge 2 ]; then
   echo "copying 1280x720"
-  adb $adb_options push bbb_short/1280x720 /mnt/sdcard/test/bbb_short/1280x720
-  adb $adb_options push bbb_full/1280x720 /mnt/sdcard/test/bbb_full/1280x720
+  adb $adb_options push bbb_short/1280x720 /sdcard/test/bbb_short/1280x720
+  adb $adb_options push bbb_full/1280x720 /sdcard/test/bbb_full/1280x720
 fi
 
 if [ $max_resolution -ge 1 ]; then
   echo "copying 720x480"
-  adb $adb_options push bbb_short/720x480 /mnt/sdcard/test/bbb_short/720x480
-  adb $adb_options push bbb_full/720x480 /mnt/sdcard/test/bbb_full/720x480
+  adb $adb_options push bbb_short/720x480 /sdcard/test/bbb_short/720x480
+  adb $adb_options push bbb_full/720x480 /sdcard/test/bbb_full/720x480
 fi
 
 echo "copying all others"
-adb $adb_options push bbb_short/176x144 /mnt/sdcard/test/bbb_short/176x144
-adb $adb_options push bbb_full/176x144 /mnt/sdcard/test/bbb_full/176x144
-adb $adb_options push bbb_short/480x360 /mnt/sdcard/test/bbb_short/480x360
-adb $adb_options push bbb_full/480x360 /mnt/sdcard/test/bbb_full/480x360
+adb $adb_options push bbb_short/176x144 /sdcard/test/bbb_short/176x144
+adb $adb_options push bbb_full/176x144 /sdcard/test/bbb_full/176x144
+adb $adb_options push bbb_short/480x360 /sdcard/test/bbb_short/480x360
+adb $adb_options push bbb_full/480x360 /sdcard/test/bbb_full/480x360
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
index a33fc01..ca67746 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/build/CtsBuildProvider.java
@@ -42,15 +42,13 @@
         if (mCtsRootDirPath == null) {
             throw new IllegalArgumentException("Missing --cts-install-path");
         }
-        IFolderBuildInfo ctsBuild = new FolderBuildInfo(CTS_BUILD_VERSION, "cts", "cts");
+        IFolderBuildInfo ctsBuild = new FolderBuildInfo(
+            Package.getPackage(CTS_PACKAGE).getImplementationVersion(),
+            "cts", "cts");
         ctsBuild.setRootDir(new File(mCtsRootDirPath));
         return ctsBuild;
     }
 
-    public static String getBuildNumber() {
-        return Package.getPackage(CTS_PACKAGE).getImplementationVersion();
-    }
-
     /**
      * {@inheritDoc}
      */
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
index 2d6d8f2..24239e6 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
@@ -24,6 +24,7 @@
 import com.android.cts.tradefed.testtype.ITestPackageRepo;
 import com.android.cts.tradefed.testtype.TestPackageRepo;
 import com.android.cts.util.AbiUtils;
+import com.android.tradefed.build.IFolderBuildInfo;
 import com.android.tradefed.command.Console;
 import com.android.tradefed.config.ArgsOptionParser;
 import com.android.tradefed.config.ConfigurationException;
@@ -48,7 +49,8 @@
 
     protected static final String ADD_PATTERN = "a(?:dd)?";
 
-    private CtsBuildHelper mCtsBuild = null;
+    private IFolderBuildInfo mBuildInfo = null;
+    private CtsBuildHelper mBuildHelper = null;
 
     CtsConsole() {
         super();
@@ -57,8 +59,7 @@
     @Override
     public void run() {
         printLine(String.format("Android CTS %s build:%s",
-                CtsBuildProvider.CTS_BUILD_VERSION,
-                CtsBuildProvider.getBuildNumber()));
+                CtsBuildProvider.CTS_BUILD_VERSION, getCtsBuildInfo().getBuildId()));
         super.run();
     }
 
@@ -71,7 +72,7 @@
         trie.put(new Runnable() {
             @Override
             public void run() {
-                CtsBuildHelper ctsBuild = getCtsBuild();
+                CtsBuildHelper ctsBuild = getCtsBuildHelper();
                 if (ctsBuild != null) {
                     listPlans(ctsBuild);
                 }
@@ -80,7 +81,7 @@
         trie.put(new Runnable() {
             @Override
             public void run() {
-                CtsBuildHelper ctsBuild = getCtsBuild();
+                CtsBuildHelper ctsBuild = getCtsBuildHelper();
                 if (ctsBuild != null) {
                     listPackages(ctsBuild);
                 }
@@ -89,7 +90,7 @@
         trie.put(new Runnable() {
             @Override
             public void run() {
-                CtsBuildHelper ctsBuild = getCtsBuild();
+                CtsBuildHelper ctsBuild = getCtsBuildHelper();
                 if (ctsBuild != null) {
                     listResults(ctsBuild);
                 }
@@ -116,7 +117,7 @@
                 for (int i = 2; i < args.size(); i++) {
                     flatArgs[i - 2] = args.get(i).get(0);
                 }
-                CtsBuildHelper ctsBuild = getCtsBuild();
+                CtsBuildHelper ctsBuild = getCtsBuildHelper();
                 if (ctsBuild != null) {
                     // FIXME may want to only add certain ABIs
                     addDerivedPlan(ctsBuild, AbiUtils.getAbisSupportedByCts(), flatArgs);
@@ -232,22 +233,28 @@
         }
     }
 
-    private CtsBuildHelper getCtsBuild() {
-        if (mCtsBuild == null) {
-            String ctsInstallPath = System.getProperty("CTS_ROOT");
-            if (ctsInstallPath != null) {
-                mCtsBuild = new CtsBuildHelper(new File(ctsInstallPath));
-                try {
-                    mCtsBuild.validateStructure();
-                } catch (FileNotFoundException e) {
-                    printLine(String.format("Invalid cts install: %s", e.getMessage()));
-                    mCtsBuild = null;
-                }
-            } else {
+    private IFolderBuildInfo getCtsBuildInfo() {
+        if (mBuildInfo == null) {
+            try {
+                mBuildInfo = (IFolderBuildInfo) new CtsBuildProvider().getBuild();
+            } catch (IllegalArgumentException e) {
                 printLine("Could not find CTS install location: CTS_ROOT env variable not set");
             }
         }
-        return mCtsBuild;
+        return mBuildInfo;
+    }
+
+    private CtsBuildHelper getCtsBuildHelper() {
+        if (mBuildHelper == null) {
+            try {
+                mBuildHelper = new CtsBuildHelper(getCtsBuildInfo());
+                mBuildHelper.validateStructure();
+            } catch (FileNotFoundException e) {
+                printLine(String.format("Invalid cts install: %s", e.getMessage()));
+                mBuildHelper = null;
+            }
+        }
+        return mBuildHelper;
     }
 
     public static void main(String[] args) throws InterruptedException, ConfigurationException {
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/device/DeviceInfoCollector.java b/tools/tradefed-host/src/com/android/cts/tradefed/device/DeviceInfoCollector.java
index 733eb4f..fe096bd 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/device/DeviceInfoCollector.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/device/DeviceInfoCollector.java
@@ -16,7 +16,10 @@
 package com.android.cts.tradefed.device;
 
 import com.android.cts.util.AbiUtils;
+import com.android.cts.tradefed.result.CtsXmlResultReporter;
 import com.android.ddmlib.Log;
+import com.android.tradefed.build.IBuildInfo;
+import com.android.tradefed.build.IFolderBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.result.ITestInvocationListener;
@@ -39,10 +42,21 @@
     private static final String APK_NAME = "TestDeviceSetup";
     public static final String APP_PACKAGE_NAME = "android.tests.devicesetup";
     private static final String INSTRUMENTATION_NAME = "android.tests.getinfo.DeviceInfoInstrument";
+
+    private static final String EXTENDED_APK_NAME = "CtsDeviceInfo";
+    public static final String EXTENDED_APP_PACKAGE_NAME =
+            "com.android.compatibility.common.deviceinfo";
+    private static final String EXTENDED_INSTRUMENTATION_NAME =
+            "com.android.compatibility.common.deviceinfo.DeviceInfoInstrument";
+    private static final String DEVICE_RESULT_DIR = "/sdcard/device-info-files";
+
     public static final Set<String> IDS = new HashSet<String>();
+    public static final Set<String> EXTENDED_IDS = new HashSet<String>();
+
     static {
         for (String abi : AbiUtils.getAbisSupportedByCts()) {
             IDS.add(AbiUtils.createId(abi, APP_PACKAGE_NAME));
+            EXTENDED_IDS.add(AbiUtils.createId(abi, EXTENDED_APP_PACKAGE_NAME));
         }
     }
 
@@ -56,7 +70,33 @@
      */
     public static void collectDeviceInfo(ITestDevice device, String abi, File testApkDir,
             ITestInvocationListener listener) throws DeviceNotAvailableException {
-        File apkFile = new File(testApkDir, String.format("%s.apk", APK_NAME));
+        runInstrumentation(device, abi, testApkDir, listener, APK_NAME, APP_PACKAGE_NAME,
+            INSTRUMENTATION_NAME);
+    }
+
+    /**
+     * Installs and runs the extended device info collector instrumentation, and forwards results
+     * to the listener.
+     *
+     * @param device
+     * @param listener
+     * @throws DeviceNotAvailableException
+     */
+    public static void collectExtendedDeviceInfo(ITestDevice device, String abi, File testApkDir,
+            ITestInvocationListener listener, IBuildInfo buildInfo)
+            throws DeviceNotAvailableException {
+        // Clear files in device test result directory
+        device.executeShellCommand(String.format("rm -rf %s", DEVICE_RESULT_DIR));
+        runInstrumentation(device, abi, testApkDir, listener, EXTENDED_APK_NAME,
+            EXTENDED_APP_PACKAGE_NAME, EXTENDED_INSTRUMENTATION_NAME);
+        // Copy files in remote result directory to local directory
+        pullExtendedDeviceInfoResults(device, buildInfo);
+    }
+
+    private static void runInstrumentation(ITestDevice device, String abi, File testApkDir,
+            ITestInvocationListener listener, String apkName, String packageName,
+            String instrumentName) throws DeviceNotAvailableException {
+        File apkFile = new File(testApkDir, String.format("%s.apk", apkName));
         if (!apkFile.exists()) {
             Log.e(LOG_TAG, String.format("Could not find %s", apkFile.getAbsolutePath()));
             return;
@@ -68,9 +108,39 @@
         instrTest.setInstallFile(apkFile);
         // no need to collect tests and re-run
         instrTest.setRerunMode(false);
-        instrTest.setPackageName(APP_PACKAGE_NAME);
-        instrTest.setRunName(AbiUtils.createId(abi, APP_PACKAGE_NAME));
-        instrTest.setRunnerName(INSTRUMENTATION_NAME);
+        instrTest.setPackageName(packageName);
+        instrTest.setRunName(AbiUtils.createId(abi, packageName));
+        instrTest.setRunnerName(instrumentName);
         instrTest.run(listener);
     }
+
+    private static void pullExtendedDeviceInfoResults(ITestDevice device, IBuildInfo buildInfo)
+            throws DeviceNotAvailableException {
+        if (!(buildInfo instanceof IFolderBuildInfo)) {
+            Log.e(LOG_TAG, "Invalid instance of buildInfo");
+            return;
+        }
+        File localResultDir = new File(buildInfo.getBuildAttributes().get(
+                CtsXmlResultReporter.CTS_RESULT_DIR));
+        if (localResultDir == null || !localResultDir.isDirectory()) {
+            Log.e(LOG_TAG, "Local result directory is null or is not a directory");
+            return;
+        }
+        // Pull files from device result directory to local result directory
+        String command = String.format("adb -s %s pull %s %s", device.getSerialNumber(),
+                DEVICE_RESULT_DIR, localResultDir.getAbsolutePath());
+        if (!execute(command)) {
+            Log.e(LOG_TAG, String.format("Failed to run %s", command));
+        }
+    }
+
+    private static boolean execute(String command) {
+        try {
+            Process p = Runtime.getRuntime().exec(new String[] {"/bin/bash", "-c", command});
+            return (p.waitFor() == 0);
+        } catch (Exception e) {
+            Log.e(LOG_TAG, e);
+            return false;
+        }
+    }
 }
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsTestLogReporter.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsTestLogReporter.java
index 5029dfe..b7f064f 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsTestLogReporter.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsTestLogReporter.java
@@ -43,6 +43,7 @@
     private TestResults mResults = new TestResults();
     private TestPackageResult mCurrentPkgResult = null;
     private boolean mIsDeviceInfoRun = false;
+    private boolean mIsExtendedDeviceInfoRun = false;
 
     @Override
     public void invocationStarted(IBuildInfo buildInfo) {
@@ -63,8 +64,11 @@
             logCompleteRun(mCurrentPkgResult);
         }
         mIsDeviceInfoRun = DeviceInfoCollector.IDS.contains(id);
+        mIsExtendedDeviceInfoRun = DeviceInfoCollector.EXTENDED_IDS.contains(id);
         if (mIsDeviceInfoRun) {
             logResult("Collecting device info");
+        } else if (mIsExtendedDeviceInfoRun) {
+            logResult("Collecting extended device info");
         } else  {
             if (mCurrentPkgResult == null || !id.equals(mCurrentPkgResult.getId())) {
                 logResult("-----------------------------------------");
@@ -132,9 +136,13 @@
     }
 
     private void logCompleteRun(TestPackageResult pkgResult) {
-        if (pkgResult.getAppPackageName().equals(DeviceInfoCollector.APP_PACKAGE_NAME)) {
+        String appPackageName = pkgResult.getAppPackageName();
+        if (appPackageName.equals(DeviceInfoCollector.APP_PACKAGE_NAME)) {
             logResult("Device info collection complete");
             return;
+        } else if (appPackageName.equals(DeviceInfoCollector.EXTENDED_APP_PACKAGE_NAME)) {
+            logResult("Extended device info collection complete");
+            return;
         }
         logResult("%s package complete: Passed %d, Failed %d, Not Executed %d",
                 pkgResult.getId(), pkgResult.countTests(CtsTestStatus.PASS),
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
index 8cb4072..51b457d 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/CtsXmlResultReporter.java
@@ -25,7 +25,6 @@
 import com.android.tradefed.build.IBuildInfo;
 import com.android.tradefed.build.IFolderBuildInfo;
 import com.android.tradefed.config.Option;
-import com.android.tradefed.config.Option.Importance;
 import com.android.tradefed.log.LogUtil.CLog;
 import com.android.tradefed.result.ILogSaver;
 import com.android.tradefed.result.ILogSaverListener;
@@ -42,6 +41,7 @@
 import org.kxml2.io.KXmlSerializer;
 
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -62,6 +62,7 @@
 
     private static final String LOG_TAG = "CtsXmlResultReporter";
 
+    public static final String CTS_RESULT_DIR = "cts-result-dir";
     static final String TEST_RESULT_FILE_NAME = "testResult.xml";
     static final String CTS_RESULT_FILE_VERSION = "4.4";
     private static final String[] CTS_RESULT_RESOURCES = {"cts_result.xsl", "cts_result.css",
@@ -97,6 +98,9 @@
     @Option(name = "include-test-log-tags", description = "Include test log tags in XML report.")
     private boolean mIncludeTestLogTags = false;
 
+    @Option(name = "use-log-saver", description = "Also saves generated result XML with log saver")
+    private boolean mUseLogSaver = false;
+
     protected IBuildInfo mBuildInfo;
     private String mStartTime;
     private String mDeviceSerial;
@@ -104,10 +108,12 @@
     private TestPackageResult mCurrentPkgResult = null;
     private Test mCurrentTest = null;
     private boolean mIsDeviceInfoRun = false;
+    private boolean mIsExtendedDeviceInfoRun = false;
     private ResultReporter mReporter;
     private File mLogDir;
     private String mSuiteName;
     private String mReferenceUrl;
+    private ILogSaver mLogSaver;
 
     public void setReportDir(File reportDir) {
         mReportDir = reportDir;
@@ -155,6 +161,8 @@
         mSuiteName = ctsBuildHelper.getSuiteName();
         mReporter = new ResultReporter(mResultServer, mSuiteName);
 
+        ctsBuild.addBuildAttribute(CTS_RESULT_DIR, mReportDir.getAbsolutePath());
+
         // TODO: allow customization of log dir
         // create a unique directory for saving logs, with same name as result dir
         File rootLogDir = getBuildHelper(ctsBuild).getLogsDir();
@@ -249,13 +257,14 @@
 
     @Override
     public void setLogSaver(ILogSaver logSaver) {
-      // Don't need to keep a reference to logSaver, because we don't save extra logs in this class.
+        mLogSaver = logSaver;
     }
 
     @Override
     public void testRunStarted(String id, int numTests) {
         mIsDeviceInfoRun = DeviceInfoCollector.IDS.contains(id);
-        if (!mIsDeviceInfoRun) {
+        mIsExtendedDeviceInfoRun = DeviceInfoCollector.EXTENDED_IDS.contains(id);
+        if (!mIsDeviceInfoRun && !mIsExtendedDeviceInfoRun) {
             mCurrentPkgResult = mResults.getOrCreatePackage(id);
             mCurrentPkgResult.setDeviceSerial(mDeviceSerial);
         }
@@ -266,7 +275,7 @@
      */
     @Override
     public void testStarted(TestIdentifier test) {
-        if (!mIsDeviceInfoRun) {
+        if (!mIsDeviceInfoRun && !mIsExtendedDeviceInfoRun) {
             mCurrentTest = mCurrentPkgResult.insertTest(test);
         }
     }
@@ -276,7 +285,7 @@
      */
     @Override
     public void testFailed(TestIdentifier test, String trace) {
-        if (!mIsDeviceInfoRun) {
+        if (!mIsDeviceInfoRun && !mIsExtendedDeviceInfoRun) {
             mCurrentPkgResult.reportTestFailure(test, CtsTestStatus.FAIL, trace);
         }
     }
@@ -287,7 +296,7 @@
     @Override
     public void testAssumptionFailure(TestIdentifier test, String trace) {
         // TODO: do something different here?
-        if (!mIsDeviceInfoRun) {
+        if (!mIsDeviceInfoRun && !mIsExtendedDeviceInfoRun) {
             mCurrentPkgResult.reportTestFailure(test, CtsTestStatus.FAIL, trace);
         }
     }
@@ -305,7 +314,7 @@
      */
     @Override
     public void testEnded(TestIdentifier test, Map<String, String> testMetrics) {
-        if (!mIsDeviceInfoRun) {
+        if (!mIsDeviceInfoRun && !mIsExtendedDeviceInfoRun) {
             mCurrentPkgResult.reportTestEnded(test, testMetrics);
         }
     }
@@ -317,11 +326,22 @@
     public void testRunEnded(long elapsedTime, Map<String, String> runMetrics) {
         if (mIsDeviceInfoRun) {
             mResults.populateDeviceInfoMetrics(runMetrics);
+        } else if (mIsExtendedDeviceInfoRun) {
+            checkExtendedDeviceInfoMetrics(runMetrics);
         } else {
             mCurrentPkgResult.populateMetrics(runMetrics);
         }
     }
 
+    private void checkExtendedDeviceInfoMetrics(Map<String, String> runMetrics) {
+        for (Map.Entry<String, String> metricEntry : runMetrics.entrySet()) {
+            String value = metricEntry.getValue();
+            if (!value.endsWith(".deviceinfo.json")) {
+                CLog.e(String.format("%s failed: %s", metricEntry.getKey(), value));
+            }
+        }
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -335,6 +355,18 @@
 
         File reportFile = getResultFile(mReportDir);
         createXmlResult(reportFile, mStartTime, elapsedTime);
+        if (mUseLogSaver) {
+            FileInputStream fis = null;
+            try {
+                fis = new FileInputStream(reportFile);
+                mLogSaver.saveLogData("cts-result", LogDataType.XML, fis);
+            } catch (IOException ioe) {
+                CLog.e("error saving XML with log saver");
+                CLog.e(ioe);
+            } finally {
+                StreamUtil.close(fis);
+            }
+        }
         copyFormattingFiles(mReportDir);
         zipResults(mReportDir);
 
@@ -400,7 +432,7 @@
         serializer.attribute(ns, "endtime", endTime);
         serializer.attribute(ns, "version", CTS_RESULT_FILE_VERSION);
         serializer.attribute(ns, "suite", mSuiteName);
-        mResults.serialize(serializer);
+        mResults.serialize(serializer, mBuildInfo.getBuildId());
         // TODO: not sure why, but the serializer doesn't like this statement
         //serializer.endTag(ns, RESULT_TAG);
     }
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/result/TestResults.java b/tools/tradefed-host/src/com/android/cts/tradefed/result/TestResults.java
index 68cd1c0..9f67f2d 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/result/TestResults.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/result/TestResults.java
@@ -104,9 +104,9 @@
      * @param serializer
      * @throws IOException
      */
-    public void serialize(KXmlSerializer serializer) throws IOException {
+    public void serialize(KXmlSerializer serializer, String buildId) throws IOException {
         mDeviceInfo.serialize(serializer);
-        serializeHostInfo(serializer);
+        serializeHostInfo(serializer, buildId);
         serializeTestSummary(serializer);
         // sort before serializing
         List<TestPackageResult> pkgs = new ArrayList<TestPackageResult>(mPackageResults.values());
@@ -121,7 +121,7 @@
      *
      * @param serializer
      */
-    private void serializeHostInfo(KXmlSerializer serializer) throws IOException {
+    private void serializeHostInfo(KXmlSerializer serializer, String buildId) throws IOException {
         serializer.startTag(ns, "HostInfo");
 
         String hostName = "";
@@ -143,7 +143,7 @@
 
         serializer.startTag(ns, "Cts");
         serializer.attribute(ns, "version", CtsBuildProvider.CTS_BUILD_VERSION);
-        serializer.attribute(ns, "build", CtsBuildProvider.getBuildNumber());
+        serializer.attribute(ns, "build", buildId);
         // TODO: consider outputting other tradefed options here
         serializer.startTag(ns, "IntValue");
         serializer.attribute(ns, "name", "testStatusTimeoutMs");
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
index b3bc7da..d74cce5 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
@@ -289,9 +289,8 @@
         @Override
         public void testFailed(TestIdentifier test, String trace) {
             super.testFailed(test, trace);
-            // sleep a small amount of time to ensure test failure stack trace makes it into logcat
-            // capture
-            RunUtil.getDefault().sleep(10);
+            // sleep 2s to ensure test failure stack trace makes it into logcat capture
+            RunUtil.getDefault().sleep(2 * 1000);
             InputStreamSource logSource = mDevice.getLogcat(mNumLogcatBytes);
             super.testLog(String.format("logcat-%s_%s", test.getClassName(), test.getTestName()),
                     LogDataType.TEXT, logSource);
@@ -1058,6 +1057,8 @@
         if (!mSkipDeviceInfo) {
             String abi = AbiFormatter.getDefaultAbi(device, "");
             DeviceInfoCollector.collectDeviceInfo(device, abi, ctsBuild.getTestCasesDir(), listener);
+            DeviceInfoCollector.collectExtendedDeviceInfo(
+                device, abi, ctsBuild.getTestCasesDir(), listener, mBuildInfo);
         }
     }
 
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
index f276f1d..12c3ddd 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestPackageDef.java
@@ -308,9 +308,6 @@
         instrTest.setRunName(mAppPackageName);
         instrTest.setPackageName(mAppNameSpace);
         instrTest.setRunnerName(mRunner);
-        instrTest.setTestPackageName(mTestPackageName);
-        instrTest.setClassName(mClassName);
-        instrTest.setMethodName(mMethodName);
         instrTest.setAbi(mAbi);
         instrTest.setTestsToRun(mTests, false
             /* force batch mode off to always run using testFile */);
diff --git a/tools/tradefed-host/tests/run_unit_func_tests.sh b/tools/tradefed-host/tests/run_unit_func_tests.sh
new file mode 100755
index 0000000..461a80d
--- /dev/null
+++ b/tools/tradefed-host/tests/run_unit_func_tests.sh
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# helper script for running the cts-tradefed unit tests
+
+checkFile() {
+    if [ ! -f "$1" ]; then
+        echo "Unable to locate $1"
+        exit
+    fi;
+}
+
+# check if in Android build env
+if [ ! -z ${ANDROID_BUILD_TOP} ]; then
+    HOST=`uname`
+    if [ "$HOST" == "Linux" ]; then
+        OS="linux-x86"
+    elif [ "$HOST" == "Darwin" ]; then
+        OS="darwin-x86"
+    else
+        echo "Unrecognized OS"
+        exit
+    fi;
+fi;
+
+JAR_DIR=${ANDROID_BUILD_TOP}/out/host/$OS/framework
+JARS="tradefed-prebuilt.jar hosttestlib.jar cts-tradefed.jar cts-tradefed-tests.jar"
+
+for JAR in $JARS; do
+    checkFile ${JAR_DIR}/${JAR}
+    JAR_PATH=${JAR_PATH}:${JAR_DIR}/${JAR}
+done
+
+java $RDBG_FLAG \
+  -cp ${JAR_PATH} com.android.tradefed.command.Console run singleCommand host --class com.android.cts.tradefed.FuncTests "$@"
diff --git a/tools/tradefed-host/tests/run_unit_tests.sh b/tools/tradefed-host/tests/run_unit_tests.sh
index 771dc75..d089c05 100755
--- a/tools/tradefed-host/tests/run_unit_tests.sh
+++ b/tools/tradefed-host/tests/run_unit_tests.sh
@@ -46,4 +46,3 @@
 
 java $RDBG_FLAG \
   -cp ${JAR_PATH} com.android.tradefed.command.Console run singleCommand host -n --class com.android.cts.tradefed.UnitTests "$@"
-
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/FuncTests.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/FuncTests.java
new file mode 100644
index 0000000..a9420d2
--- /dev/null
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/FuncTests.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.cts.tradefed;
+
+import com.android.cts.tradefed.device.DeviceInfoCollectorFuncTest;
+import com.android.tradefed.testtype.DeviceTestSuite;
+
+import junit.framework.Test;
+
+/**
+ * A test suite for all cts-tradefed functional tests.
+ * <p/>
+ * Tests listed here should require a device.
+ */
+public class FuncTests extends DeviceTestSuite {
+
+    public FuncTests() {
+        super();
+
+        // device package
+        addTestSuite(DeviceInfoCollectorFuncTest.class);
+    }
+
+    public static Test suite() {
+        return new FuncTests();
+    }
+}
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/device/DeviceInfoCollectorFuncTest.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/device/DeviceInfoCollectorFuncTest.java
index 52a205b..60e30cc 100644
--- a/tools/tradefed-host/tests/src/com/android/cts/tradefed/device/DeviceInfoCollectorFuncTest.java
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/device/DeviceInfoCollectorFuncTest.java
@@ -15,33 +15,77 @@
  */
 package com.android.cts.tradefed.device;
 
+import com.android.ddmlib.Log.LogLevel;
 import com.android.cts.tradefed.UnitTests;
+import com.android.cts.tradefed.result.CtsXmlResultReporter;
 import com.android.tradefed.build.BuildInfo;
+import com.android.tradefed.build.IFolderBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
+import com.android.tradefed.log.LogUtil.CLog;
 import com.android.tradefed.result.CollectingTestListener;
 import com.android.tradefed.testtype.DeviceTestCase;
+import com.android.tradefed.util.FileUtil;
 
 import java.io.File;
+import java.util.HashMap;
 import java.util.Map;
 
+import org.easymock.EasyMock;
+
 /**
  * Functional test for {@link DeviceInfoCollector}.
  * <p/>
- * TODO: this test assumes the TestDeviceSetup apk is located in the "java.io.tmpdir"
+ * TODO: this test assumes the TestDeviceSetup and DeviceInfoCollector apks are located in the
+ * "java.io.tmpdir"
  */
 public class DeviceInfoCollectorFuncTest extends DeviceTestCase {
 
-    public void testCollectDeviceInfo() throws DeviceNotAvailableException {
-        CollectingTestListener testListener = new CollectingTestListener();
+    private CollectingTestListener testListener;
+    private File mResultDir;
+    private IFolderBuildInfo mMockBuildInfo;
 
-        testListener.invocationStarted(new BuildInfo());
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+        testListener = new CollectingTestListener();
+        mResultDir = FileUtil.createTempDir("cts-result-dir");
+        mMockBuildInfo = EasyMock.createMock(IFolderBuildInfo.class);
+        Map<String, String> attributes = new HashMap<>();
+        attributes.put(CtsXmlResultReporter.CTS_RESULT_DIR, mResultDir.getAbsolutePath());
+        EasyMock.expect(mMockBuildInfo.getBuildAttributes()).andStubReturn(attributes);
+        EasyMock.replay(mMockBuildInfo);
+
+        assertNotNull(getDevice().getSerialNumber());
+    }
+
+    public void testCollectDeviceInfo() throws DeviceNotAvailableException {
+        testListener.invocationStarted(mMockBuildInfo);
         DeviceInfoCollector.collectDeviceInfo(getDevice(), UnitTests.ABI.getName(), new File(
                 System.getProperty("java.io.tmpdir")), testListener);
         assertNotNull(testListener.getCurrentRunResults());
-        assertTrue(testListener.getCurrentRunResults().getRunMetrics().size() > 0);
-        for (Map.Entry<String, String> metricEntry : testListener.getCurrentRunResults().getRunMetrics().entrySet()) {
-            System.out.println(String.format("%s=%s", metricEntry.getKey(), metricEntry.getValue()));
-        }
+
+        Map<String, String> runMetrics = testListener.getCurrentRunResults().getRunMetrics();
+        assertTrue(runMetrics.size() > 0);
+        displayMetrics(runMetrics);
         testListener.invocationEnded(0);
     }
+
+    public void testExtendedDeviceInfo() throws DeviceNotAvailableException {
+        testListener.invocationStarted(mMockBuildInfo);
+        DeviceInfoCollector.collectExtendedDeviceInfo(getDevice(), UnitTests.ABI.getName(),
+                new File(System.getProperty("java.io.tmpdir")), testListener, mMockBuildInfo);
+        assertNotNull(testListener.getCurrentRunResults());
+
+        Map<String, String> runMetrics = testListener.getCurrentRunResults().getRunMetrics();
+        assertTrue(runMetrics.size() > 0);
+        displayMetrics(runMetrics);
+        testListener.invocationEnded(0);
+    }
+
+    private void displayMetrics(Map<String, String> runMetrics) {
+        for (Map.Entry<String, String> metricEntry : runMetrics.entrySet()) {
+            CLog.logAndDisplay(LogLevel.INFO,
+                    String.format("%s=%s", metricEntry.getKey(), metricEntry.getValue()));
+        }
+    }
 }
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/result/CtsXmlResultReporterTest.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/result/CtsXmlResultReporterTest.java
index ae4a41e..51a6153 100644
--- a/tools/tradefed-host/tests/src/com/android/cts/tradefed/result/CtsXmlResultReporterTest.java
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/result/CtsXmlResultReporterTest.java
@@ -39,6 +39,7 @@
 import java.util.Arrays;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -84,10 +85,16 @@
         File plansDir = new File(repoDir, "plans");
         assertTrue(casesDir.mkdirs());
         assertTrue(plansDir.mkdirs());
-        mMockBuild = EasyMock.createNiceMock(IFolderBuildInfo.class);
+        mMockBuild = EasyMock.createMock(IFolderBuildInfo.class);
         EasyMock.expect(mMockBuild.getDeviceSerial()).andStubReturn(null);
         EasyMock.expect(mMockBuild.getRootDir()).andStubReturn(mBuildDir);
-        EasyMock.replay(mMockBuild);
+        mMockBuild.addBuildAttribute(EasyMock.cmpEq(CtsXmlResultReporter.CTS_RESULT_DIR),
+                (String) EasyMock.anyObject());
+        EasyMock.expectLastCall();
+        Map<String, String> attributes = new HashMap<>();
+        attributes.put(CtsXmlResultReporter.CTS_RESULT_DIR, "");
+        EasyMock.expect(mMockBuild.getBuildAttributes()).andStubReturn(attributes);
+        EasyMock.expect(mMockBuild.getBuildId()).andStubReturn("");
     }
 
     @Override
@@ -113,6 +120,7 @@
         final String expectedSummaryOutput =
             "<Summary failed=\"0\" notExecuted=\"0\" timeout=\"0\" pass=\"0\" />";
         final String expectedEndTag = "</TestResult>";
+        EasyMock.replay(mMockBuild);
         mResultReporter.invocationStarted(mMockBuild);
         mResultReporter.invocationEnded(1);
         String actualOutput = getOutput();
@@ -123,6 +131,7 @@
                 expectedTestOutput, actualOutput), actualOutput.contains(expectedSummaryOutput));
         assertTrue(String.format("test output did not contain expected TestResult end tag. Got %s",
                 actualOutput), actualOutput.endsWith(expectedEndTag));
+        EasyMock.verify(mMockBuild);
     }
 
     /**
@@ -131,6 +140,7 @@
     public void testSinglePass() {
         Map<String, String> emptyMap = Collections.emptyMap();
         final TestIdentifier testId = new TestIdentifier("com.foo.FooTest", "testFoo");
+        EasyMock.replay(mMockBuild);
         mResultReporter.invocationStarted(mMockBuild);
         mResultReporter.testRunStarted(AbiUtils.createId(UnitTests.ABI.getName(), "run"), 1);
         mResultReporter.testStarted(testId);
@@ -149,6 +159,7 @@
         final String testCaseTag = String.format(
                 "<Test name=\"%s\" result=\"pass\"", testId.getTestName());
         assertTrue(output.contains(testCaseTag));
+        EasyMock.verify(mMockBuild);
     }
 
     /**
@@ -158,6 +169,7 @@
         Map<String, String> emptyMap = Collections.emptyMap();
         final TestIdentifier testId = new TestIdentifier("FooTest", "testFoo");
         final String trace = "this is a trace\nmore trace\nyet more trace";
+        EasyMock.replay(mMockBuild);
         mResultReporter.invocationStarted(mMockBuild);
         mResultReporter.testRunStarted(AbiUtils.createId(UnitTests.ABI.getName(), "run"), 1);
         mResultReporter.testStarted(testId);
@@ -179,6 +191,7 @@
         // Check that no TestLog tags were added, because the flag wasn't enabled.
         final String testLogTag = String.format("<TestLog type=\"logcat\" url=\"url\" />");
         assertFalse(output, output.contains(testLogTag));
+        EasyMock.verify(mMockBuild);
     }
 
     /**
@@ -192,6 +205,7 @@
         // Include TestLogTags in the XML.
         mResultReporter.setIncludeTestLogTags(true);
 
+        EasyMock.replay(mMockBuild);
         mResultReporter.invocationStarted(mMockBuild);
         mResultReporter.testRunStarted(AbiUtils.createId(UnitTests.ABI.getName(), "run"), 1);
         mResultReporter.testStarted(testId);
@@ -206,11 +220,13 @@
         final String output = getOutput();
         final String testLogTag = String.format("<TestLog type=\"logcat\" url=\"url\" />");
         assertTrue(output, output.contains(testLogTag));
+        EasyMock.verify(mMockBuild);
     }
 
     public void testDeviceSetup() {
         Map<String, String> emptyMap = Collections.emptyMap();
         final TestIdentifier testId = new TestIdentifier("android.tests.devicesetup", "TestDeviceSetup");
+        EasyMock.replay(mMockBuild);
         mResultReporter.invocationStarted(mMockBuild);
         mResultReporter.testRunStarted(AbiUtils.createId(UnitTests.ABI.getName(), testId.getClassName()), 1);
         mResultReporter.testStarted(testId);
@@ -221,6 +237,7 @@
         // TODO: consider doing xml based compare
         final String deviceSetupTag = "appPackageName=\"android.tests.devicesetup\"";
         assertFalse(output, output.contains(deviceSetupTag));
+        EasyMock.verify(mMockBuild);
     }
 
     /**
diff --git a/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/CtsTestTest.java b/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/CtsTestTest.java
index 5dc2e5a..98caad1 100644
--- a/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/CtsTestTest.java
+++ b/tools/tradefed-host/tests/src/com/android/cts/tradefed/testtype/CtsTestTest.java
@@ -23,6 +23,7 @@
 import com.android.tradefed.device.DeviceNotAvailableException;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.result.ITestInvocationListener;
+import com.android.tradefed.targetprep.ITargetPreparer;
 import com.android.tradefed.testtype.IRemoteTest;
 import com.android.tradefed.util.xml.AbstractXmlParser.ParseException;
 
@@ -286,6 +287,8 @@
         EasyMock.expect(mMockPackageDef.getAbi()).andReturn(UnitTests.ABI).atLeastOnce();
         EasyMock.expect(mMockPackageDef.getId()).andReturn(ID).atLeastOnce();
         EasyMock.expect(mMockPackageDef.getDigest()).andReturn("digest").atLeastOnce();
+        EasyMock.expect(mMockPackageDef.getPackagePreparers()).andReturn(
+                    new ArrayList<ITargetPreparer>()).atLeastOnce();
         mMockTest.run((ITestInvocationListener) EasyMock.anyObject());
     }
 
@@ -294,6 +297,7 @@
      * been specified
      */
     public void testRun_nothingToRun() throws DeviceNotAvailableException {
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
@@ -309,6 +313,7 @@
     public void testRun_packagePlan() throws DeviceNotAvailableException {
         mCtsTest.setPlanName(PLAN_NAME);
         mCtsTest.addPackageName(PACKAGE_NAME);
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
@@ -324,6 +329,7 @@
     public void testRun_planClass() throws DeviceNotAvailableException {
         mCtsTest.setPlanName(PLAN_NAME);
         mCtsTest.setClassName("class");
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
@@ -339,6 +345,7 @@
     public void testRun_packageClass() throws DeviceNotAvailableException {
         mCtsTest.addPackageName(PACKAGE_NAME);
         mCtsTest.setClassName("class");
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
@@ -355,6 +362,7 @@
         mCtsTest.setPlanName(PLAN_NAME);
         mCtsTest.addPackageName(PACKAGE_NAME);
         mCtsTest.setClassName("class");
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
@@ -370,6 +378,7 @@
     public void testRun_planContinue() throws DeviceNotAvailableException {
         mCtsTest.setPlanName(PLAN_NAME);
         mCtsTest.setContinueSessionId(1);
+        replayMocks();
         try {
             mCtsTest.run(mMockListener);
             fail("IllegalArgumentException not thrown");
diff --git a/tools/utils/buildCts.py b/tools/utils/buildCts.py
index e7a2f3c..9490eaf 100755
--- a/tools/utils/buildCts.py
+++ b/tools/utils/buildCts.py
@@ -260,23 +260,10 @@
     self.__WritePlan(plan, 'CTS-l-tests')
 
     # CTS - sub plan for tests in drawelement packages
-    # STOPSHIP(jpoyry): Do not ship with reduced test plan to avoid confusion of having multiple
-    #                   different deqp sets in different plans.
-
-    plan = tools.TestPlan(packages)
-    plan.Exclude('.*')
-    plan.Include(r'com\.drawelements\.deqp\.gles3')
-    plan.Include(r'com\.drawelements\.deqp\.gles31')
-    plan.IncludeTests('com.drawelements.deqp.gles3', ReadFileLines(os.path.join(self.test_root, 'deqp/gles3-golden-tests.txt')))
-    plan.IncludeTests('com.drawelements.deqp.gles31', ReadFileLines(os.path.join(self.test_root, 'deqp/gles31-golden-tests.txt')))
-    self.__WritePlan(plan, 'CTS-DEQP')
-
     plan = tools.TestPlan(packages)
     plan.Exclude('.*')
     plan.Include(r'com\.drawelements\.')
-    plan.ExcludeTests('com.drawelements.deqp.gles3', ReadFileLines(os.path.join(self.test_root, 'deqp/gles3-golden-tests.txt')))
-    plan.ExcludeTests('com.drawelements.deqp.gles31', ReadFileLines(os.path.join(self.test_root, 'deqp/gles31-golden-tests.txt')))
-    self.__WritePlan(plan, 'CTS-DEQP-staging')
+    self.__WritePlan(plan, 'CTS-DEQP')
 
     # CTS - sub plan for new test packages added for staging
     plan = tools.TestPlan(packages)
@@ -503,6 +490,11 @@
           'android.content.cts.ContentResolverTest#testUnstableToStableRefs',
           'android.content.cts.ContentResolverTest#testUpdate',
           'android.content.cts.ContentResolverTest#testValidateSyncExtrasBundle',],
+      'android.bluetooth' : [
+          'android.bluetooth.cts.BluetoothLeScanTest#testBasicBleScan',
+          'android.bluetooth.cts.BluetoothLeScanTest#testBatchScan',
+          'android.bluetooth.cts.BluetoothLeScanTest#testOpportunisticScan',
+          'android.bluetooth.cts.BluetoothLeScanTest#testScanFilter',],
       '' : []}
 
 def LogGenerateDescription(name):
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/new_instance/d/T_new_instance_11.d b/tools/vm-tests-tf/src/dot/junit/opcodes/new_instance/d/T_new_instance_11.d
index 75fb804..0506be0 100644
--- a/tools/vm-tests-tf/src/dot/junit/opcodes/new_instance/d/T_new_instance_11.d
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/new_instance/d/T_new_instance_11.d
@@ -28,13 +28,16 @@
 .limit regs 6
 
        const v4, 5
-       move-object v1, v5
-Label0:
-       move-object v0, v1
+       goto LabelEntry
+
+LabelBwd:
+       invoke-virtual {v1}, java/lang/Object/hashCode()I
+
+LabelEntry:
        new-instance v1, java/lang/Integer
-       
+
        add-int/lit8 v4, v4, -1
-       if-nez v4, Label0
+       if-nez v4, LabelBwd
 
        invoke-direct {v1, v4}, java/lang/Integer/<init>(I)V
        return-void